メインコンテンツまでスキップ
Sumo Logic Japanese

Sumo のメトリクスの概要

3 (1).png

このページには、Sumo のメトリクスの大まかな概要と、メトリクスについて説明する際に使用する用語が記載されています。Sumo のメトリクスの機能についても簡単に説明しています。

メトリクスとは

メトリクスは、何らかの値を測定するための一連のデータ ポイントです。たとえば、気象情報サービスは経時的に気温の測定値を収集します。週に 1 度自分の体重を測ったり、3 か月に 1 度子供の背の高さをチェックしたりするように、

Sumo のお客様は、Sumo を使用して、アプリケーションの可用性、使用量、パフォーマンスや、コンピューティング リソースを測定するメトリクスを、時には 1 分間に何度も収集します。

Sumo では、タイムスタンプが付いた一連の特定の測定値を指すときに、時系列という用語を使用します。より一般的には、メトリクスを時系列データと呼びます。

メトリクスは Sumo にどのように取り込まれますか?

Sumo 管理者は、メトリクスを受信するようにメトリクス ソースを設定します。  メトリクス ソースでは、特定のメトリクス タイプを認識します。たとえば Sumo のホスト メトリクス ソースでは、Linux および Windows からシステム メトリクス (ネットワーク、CPU、ファイル システムなど) を取り込む方法を把握しています。当社の Cloudwatch ソースでは、AWS からメトリクスを取り込む方法を把握しています。

メトリクスは、個々のデータ ポイントとして Sumo に流れ込みます。頻度は変化します。

Sumo はどのようにメトリクスを格納しますか?

Sumo はメトリクスを未処理のデータ ポイントとして、要約形式でロールアップ テーブルに格納します。

未処理のデータ ポイントは個々のデータ ポイントです。格納した未処理のデータ ポイントを、ベースライン テーブルと呼ぶことがあります。

ベースライン テーブルには未処理のデータが格納されますが、ロールアップ テーブルには集計されたメトリクス値が格納されます。  Sumo にはロールアップ テーブルが 2 セットあります。各時系列のメトリクス値が分を基準に集計されたものと、時間を基準に集計されたものです。Sumo は、未処理のデータ ポイントに対して 5 種類の集計、つまり avg (データポイントの平均値)、max (データ ポイントの最大値)、min (データ ポイントの最小値)、count (データ ポイントの数)、sum (すべての値の合計) を実行します。

時間バケット内の個々のデータ ポイントの集計値を計算するプロセスを量子化と呼びます。量子化プロセスについては、「メトリクスの量子化」で詳しく説明します。

メトリクスの形式

Sumo は、Graphite、Carbon 2.0、Prometheus のメトリクス形式をサポートしています。詳細については、「メトリクスの形式」を参照してください。

メトリクス ソース

現在利用可能なメトリクス ソースは以下のとおりです。

  • HTTP ログとメトリクス ソース。ホスト型コレクタで HTTP ソースを使用すると、インストール済みコレクタのデプロイが困難な環境から Graphite メトリクスまたは Carbon 2.0 メトリクスを収集できます。

  • ホスト メトリクス ソース。  インストール済みコレクタでホスト メトリクス ソースを使用すると、Linux および Windows マシンの CPU、メモリ、TCP、ネットワーク、およびディスクのメトリクスを収集できます。

  • Amazon CloudWatch メトリクス ソース。ホスト型コレクタで CloudWatch ソースを使用すると、さまざまな AWS リソースのメトリクスを収集できます。  

  • ストリーミング メトリクス ソース。インストール済みコレクタで Sumo のストリーミング メトリクス ソースを使用して、Graphite または Carbon 2.0 プレーン テキスト プロトコルで、TCP または UDP 経由のメトリクスを出力するアプリケーションからメトリクスを収集できます。

  • メトリクスに関する AWS メタデータ (タグ) ソース。これは、メトリクスを収集せず、AWS で実行されている EC2 インスタンスからタグを収集するという点で、特殊な種類のソースです。Sumo は 2 種類の Sumo ソース (ストリーミング メトリクス ソースとホスト メトリクス ソース) によって取り込まれたメトリクスに、収集されたタグを適用します。メトリクスに EC2 タグを付けることで、EC2 タグを使用してメトリクスにクエリを実行できるようになります。

  • Docker Stats ソース。インストール済みコレクタで Docker Stats ソースを使用すると、CPU 使用量、メモリ使用量、ネットワーク IO、ディスク IO などの Docker コンテナ メトリクスを収集できます。

メトリクス ルール エディタ

Sumo のメトリクス ルール エディタを使用すると、メトリクスに由来するキーと値のペアをメトリクスにタグ付けできます。その後、メトリクス クエリでこれらのキーと値のペアを使用できます。これは、Graphite 形式のメトリクスを取り込む場合は特に有用です。たとえば以下のような Graphite メトリクスを考えます。

cluster-1.node-1.cpu-1.cpu-idle 97.29 1460061337

ルール エディタを使用すると、これらのキーと値のペアをメトリクスにタグ付けできます。

cluster = cluster-1 node = node-1 cpu = cpu-1 measurement = cpu-idle

Sumo は、メトリクス パスのドットで区切られた各セグメントにキーと値のペアを作成します。これにより、Graphite メトリクスへのクエリの実行が非常に簡単になります。

詳細については、「メトリクス ルールの概要」「メトリクス ルールの作成」を参照してください。

メトリクス クエリ

Sumo でメトリクスに対してクエリを実行するには、メトリクス クエリのタブを開きます。以下のメトリクス タブには、2 つのクエリの結果が表示されています。タブの上部では、量子化レベル (未処理のデータ ポイントが集計される時間バケットの大きさ) とクエリの時間範囲を確認できます。時系列の上にマウスを置くと、時間バケットでのメトリクス値が表示されます。

metric-queries.png

メトリクス クエリには何が含まれていますか?

メトリクスの形式に関わらず、Sumo のメトリクス クエリの形式は同じです。メトリクス クエリはセレクターとオペレータで構成されます。

セレクター 

セレクターを使用して、どのメトリクスを返すかを特定します。メトリクス クエリには 1 つ以上のセレクターが必要です。  セレクターには、キーと値のペアか単純な文字列を指定できます。  例を次に示します。 

  • cluster=cluster-1 node=node-1 cpu=cpu-1 metric=cpu_idle
  • _sourceCategory=hostmetrics

セレクターで Sumo の標準メタデータ フィールド (_source、_sourceCategory、_sourceHost、_sourceId、_sourceName) のいずれかを使用できます。 

オペレータ

さまざまな種類のメトリクス オペレータを使用して、セレクターに一致するメトリクス データを処理できます。たとえば、avg、max、min、sum、count などの集計オペレータ、pct、rate などの統計オペレータを使用できます。また topk と bottomk を使用して、特定のメトリクスの最高値または最低値を含む時系列を選択できます。 

詳細については、「メトリクスのオペレータ」を参照してください。

以下に簡単なクエリ例を示します。 

クエリ 説明
metric=CPU_Idle 現在選択されている時間範囲におけるすべての CPU_Idle 時系列を返します。
cluster=search node=search-1 metric=cpu-system | filter avg > 80 現在選択されている時間範囲における平均が 80% より大きい cpu-system 時系列を、クラスタ “search” 内のノード “search-1” から返します。
dep=prod metric=cpu_system | avg デプロイ "prod" 内の全 cpu_system 時系列の平均を返します。 

クエリの作成

メトリクス クエリのタブにクエリを入力するだけです。または、Sumo のサポートを受けて、クエリを構築することもできます。メトリクス クエリのタブのクエリ入力フィールドをクリックすると、以下のように、タグのリストが表示されます。

querytags.png

タグを選択すると、以下のように、そのタグの値のリストが表示されます。

tagvalues.png

メトリクス クエリの結合

2 つ以上のメトリクス クエリで基本的な数学演算 (+、-、*、/) を実行したり、追加のクエリを使用して、他のクエリの結果に演算を適用したりできます。たとえば下のメトリクス クエリのタブでは、最初の 2 つのクエリがすべてのインターフェイスにおける秒単位の受信ネットワーク パケット数と送信ネットワーク パケット数を返します。3 番目のクエリは、受信速度と送信速度の差異を返します。最初の 2 つのクエリの表示がオフになっているため、グラフには相関結果のみが表示されることに注意してください。

metric-query-join.png

クエリ結果の理解

データ ポイントの上にマウスを置くと、メトリクスの値が表示されます。

mouse-over-metric.png

グラフ化された各データ ポイントは、特定の時間バケットにおける個々のメトリクス データ ポイントの値を集計したものです。時間バケットの期間は、メトリクス クエリのタブの上部に表示される量子化の値です。上の例では 5 秒です。

上記のクエリ例の場合、Sumo は (データの寿命とデータ ポイントの量に基づいて) 適切な量子化レベルを自動的に決定し、平均関数を使用してデータ ポイントを集計します。 

量子化設定の変更

メトリクス クエリを実行するときは、必要に応じて quantize オペレータを使用して、必要な量子化間隔と、メトリクス データ ポイントの集計に使用する集計関数を指定できます。

たとえば、min 集計関数を使用して 30 秒間隔でデータ ポイントを集計する場合は、最初のクエリを以下のように書き直すことができます。 

_contentType=HostMetrics metric=CPU_Idle | quantize to 30s using min

詳細については、「グラフの量子化間隔の選択」を参照してください。

メトリクス モニタ

クエリ結果がメトリクス モニタに定義したルールと一致した場合に、Sumo がアラート通知を送信するように、メトリクス クエリにメトリクス モニタを設定できます。通知には、メールと WebHook の 2 種類があります。 

次のような数種類のモニタをセットアップできます: 重大、警告、欠落データ。「重大」と「警告」は値ベースのアラートになり、時系列のメトリクスが指定された期間にしきい値を超えるとトリガーされます。  「欠落データ」モニタは、指定された期間にデータが受信されなかった場合に、アラートをトリガーします。  

Sumo は、以下のような、メトリクス モニタの定義に役立つ UI を用意しています。 

metric-monitor.png

詳細については、「メトリクス モニタとアラート」を参照してください。

メトリクスの調整

Sumo メトリクスでは、アカウントに Data Points per Minute (DPM: 1 分あたりのデータポイント) 制限があります。この制限は Sumo Web アプリケーションの [Account Page (アカウント ページ)] に表示されています。メトリクス取り込みでのスパイクを見込んで、Sumo は乗数を DPM 制限に適用し、Sumo がソースの調整を開始する前にメトリクスを DPM バースト制限と呼ばれる高いレートで送信できるようにしています。乗数は、毎日の DPM アカウント制限に応じて変わります。DPM バースト制限を超えると、Sumo はメトリクス ソースを調整します。取り込み速度が契約で許可された制限内に収まるまで、取り込み速度が低下します。詳細については、「メトリクスの調整」を参照してください。

メトリクス取り込みデータ ボリューム インデックス

データ ポイントにおけるアカウントのメトリクス取り込みボリュームは、Sumo のメトリクス取り込みデータ ボリューム インデックスでトラッキングされます。インデックスに対してクエリを実行し、特定の時間範囲で取り込まれた総データ ポイントを、コレクタ、ソース、ソース名、ソース カテゴリ、ソース ホスト別に表示できます。詳細については、「メトリクス取り込みデータ ボリューム インデックス」「メトリクス ボリュームのクエリ」を参照してください。 

  • この記事は役に立ちましたか?