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

メトリクス クエリ

このトピックでは、例を示しながら、メトリクス クエリの構築方法を説明します。 

メトリクス クエリの構築

[Metrics (メトリクス)] ページでメトリクス グラフを作成する場合、最大 6 つのメトリクス クエリを指定できます。個別のクエリ テキスト ボックスに各クエリを入力します。クエリ テキスト ボックスは、必要に応じて 6 個まで追加されます。

metricsquerylines.png

  • 各メトリクス クエリには 1 つ以上のセレクター (フィルタ) が含まれている必要があります。セレクターには以下のいずれかを指定できます。
    • 一連のスペース区切りの tag=value ペア:
      cluster=search node=search-1
    • 非限定文字列 (キーのない値):
      statistic
  • 各クエリには任意で 1 つ以上の operator (avg、count、min、max、sum など) を含めることができます。
    dep=prod metric=cpu_system | avg
  • operator による結果のグループ化がサポートされています。この例では、平均の結果がノード別にグループ化されます。
    dep=prod metric=cpu_system | avg by node
  • logical operator がサポートされています。この例では、NOT、OR、AND が使用されています。
    not node=forge-12 and cluster=forge and (CPU_Idle or Idle_CPU) | avg

メトリクス クエリ コンポーネントのカラー コード化

メトリクス クエリは、主要な要素を識別しやすくするためにカラー コード化されています。

目的
タグまたはキーワード (cluster、404)
値 (apache/access)
operator (avg, sum)
バイオレット 数 (10)
オレンジ 引用符付き文字列 ("1, 2, 3, 4, 5")

クエリ内の複数のセレクター

1 つのクエリに複数のセレクターを指定する場合、すべての値が一致したときに結果が返されます。たとえば、
以下のクエリは deploy=prod に一致し、「かつ」メタデータの任意の場所に search という語が含まれる時系列を返します。
deploy=prod search

複数のクエリ

複数のクエリを指定すると、各クエリは個別の時系列グラフとして表示されます。以下の例では、クエリ A に一致する時系列は実線で表示され、クエリ B に一致する時系列は破線で表示されています。特定の時系列の表示と線のスタイルの変更については、「メトリクスの折れ線グラフおよび面グラフの作成と調整」を参照してください。

metrics2charts.png

メトリクス クエリを構築する方法

[Metrics (メトリクス)] ページで、クエリ テキスト ボックスの内部をクリックします。ボックス内部を初めてクリックすると、バブル ヘルプが開き一般的なクエリ構文が表示されます。

SELECTORS [| OPERATOR | ...]

クエリで logical operator を使用する場合は、この優先順位に従い、最も結合的な operator から開始します。

  1. = (ディメンション セレクター)
  2. NOT/! (どちらか一方の operator が機能する)
  3. AND (デフォルトの operator 。これを指定する必要はないが、指定可能)
  4. OR

バブル ヘルプには以下の例も含まれています。

_sourceCategory=category* metric=CPU_User | avg by _sourceHost
prod.*.*.disk.space | max by node

バブルを非表示にし、推奨を表示する場合は、スペースキーを押します。バブルを非表示にし、推奨を表示しない場合は、ESC キーを押します。

入力を開始すると、利用可能な選択肢が表示されます。  

metricsselectsourcecat.png

以下のガイドラインに従って、クエリを完成させます。

  • 一覧表示されているオプションから選択するか、テキスト領域に直接入力します。
  • 一致するタグ、値、またはメトリクスをすべて表示するには、[View All Tags (すべてのタグの表示)][View All Values (すべての値の表示)]、または [View All Metrics (すべてのメトリクスの表示)] を選択します。入力済みのテキストともに、適合する選択を行うためのダイアログ ボックスが開きます。選択を行うときに、スクロールするか [Search (検索)] フィールドにテキストを入力して検索を絞り込み、[Add to Query (クエリに追加)] をクリックします。
    metrics_view all values.jpg
     
  • AND、OR、または NOT/! 一致のクエリ内で複数のペアを指定します。複数のペアを手動で入力する場合は、tag=value ペア間に必ずスペースを入力してください。たとえば、このクエリは HostMetrics とインスタンス ID i-e0b45532 に一致します。
    _contentType=HostMetrics InstanceId=i-e0b455532
  • 複数のクエリ テキスト ボックスを使用して、最大 6 個のクエリを作成します。クエリごとに、グラフ領域に独自のグラフが表示されます。複数クエリの表示と管理の詳細については、「メトリクス グラフの操作」を参照してください。

    クエリを追加するとき、追加のクエリ テキスト ボックスが追加されます (最大 6 個)。クエリ テキスト ボックスを削除するには、テキスト ボックスの上にカーソルを置き、右側の [Delete (削除)] アイコンをクリックします。
  • セレクター/値にワイルドカードの一致を使用できます。たとえば、
    sys**tem はどちらも system に一致します。
    foo* は、以下のすべてに一致します。
    footag-a=
    foo1tag-b=
    tag-c=foo2

  • 以下の例のように、集計関数と他の operator を含めることができます。 
    _sourceHost=sys1-cloudcollector-* metric=CPU_Idle | avg

結合されたメトリクス クエリ

2 つ以上のメトリクス クエリで基本的な数学演算 (+、-、*、/) を実行できます。そして 3 番目の行でこれらの値の式を使用し、必要に応じて、1 つの結合グラフ内で情報を関連付けることができます。

トラフィックのレートのグラフ化

ネットワーク情報を取り込んでいる場合、メトリクス クエリを使用して受信トラフィック (#A) と送信トラフィック (#B) のバイト数をグラフ化します。B から A を差し引くと、受信ネットワーク トラフィックと送信ネットワーク トラフィックの正味差異を表示できます。

  1. rate と sum を使用して受信トラフィックを定義し、データを簡素化します。#A の場合、以下のように入力します。
    metric=<network in bytes> | rate | sum
  2. sum を使用して送信トラフィックを定義します。
    #B = metric=<network out bytes> | rate | sum
  3. #B から #A を差し引きます。
    #B - #A
  4. (省略可能) 必要に応じて量子化レベルと時間間隔を調整します。
    mathjoin1
  5. A と B の行を非表示にすると、グラフには平均のみが表示されます。

joinqueries

長期にわたるトラフィック レートを表す基本的な折れ線グラフが作成されました。

クラスタ全体の CPU 使用量の測定

特定のクラスタ内のノードで CPU 使用アクティビティを測定したい場合は、このクラスタでのユーザおよびシステムの平均 CPU 使用量を追加できます。

  1. クラスタ内の Source ホストに対するユーザの CPU 使用量の平均を取ります。
    metric=CPU_User _sourceHost=cqsplitter | avg
  2. クラスタ内の Source ホストに対するシステムの CPU 使用量の平均を取ります。
    metric=CPU_Sys _sourceHost=cqsplitter | avg
  3.  2 つの平均を合計します。
    #A + #B
    AddTwoAverages
  4. A と B を非表示にして、ビューをクリーンアップします。
    .

上記のグラフから、CPU 使用量の平均が急上昇したことがわかり、急上昇の原因になったノードを特定できます。特定するために、ノードごとのユーザ CPU 使用量とシステム CPU 使用量の合計を計算します。

クエリを絞り込むには、特定の Source ホストを指定します。
1.平均ではなく、特定のグループ、この場合は cqsplitter のすべての Source ホストに注目します。
    metric=CPU_User _sourceHost=cqsplitter-*
2.クラスタ内でトラッキングしたいノードで、ユーザの CPU 使用量を指定します。
 metric=CPU_Sys _sourceHost=cqsplitter-*
3.ここでは along _sourceHost を使用して、_sourceHost ごとの総和式を個別に評価します。
    #A + #B along _sourceHost

停止の検出とベースラインの作成

基本的な考えがわかったところで、もっと複雑なことをしてみましょう。たとえば、システム内のアプリケーションによる CPU 使用量のレベルに関心があり、ベースラインの平均を作成したいとしましょう。   
メトリクス、CPU ユーザ、および同じ _sourceHost カテゴリから始めますが、2 つの平均を求めてから、割合を出します。

  1. アプリケーションの CPU 使用率のメトリクスと、トラッキングする Source ホストを選択します。
    metric=CPU_user _sourceHost=*
  2. そのメトリクスの CPU 使用量の平均を出します。
    metric=CPU_user _sourceHost=* | avg
  3. メトリクスと平均の差を確認します。
    (#A - #B)/#B
  4. 差異がわずかであれば、100 を掛けて、グラフを読みやすくすることができます。
    100* (#A - #B)/#B
  5. 必要に応じて A および B のクエリ行を非表示にし、グラフをさらに読みやすくすることもできます。

今日のベースラインと昨日のベースラインの比較

メトリクス クエリと算術演算でできるもう 1 つのことは、メトリクスで時間を 1 日シフトして、今日と昨日を比較することです。最初に、算術演算として基本のベースラインを作成します。

  1. 今日の Source ホストに対する平均 CPU 使用量から開始します。
    metric=CPU_user _sourceHost=my_source_host | avg
  2. クエリ行と時間シフトを使用して、昨日の平均から今日の平均を差し引きます。
    #A | timeshift 1d
  3. メトリクスと平均の差を確認します。
    (#A - #B)/#B
  4.  差異がわずかであれば、100 を掛けて、グラフを読みやすくすることができます。
    100* (#A - #B)/#B
     

metricsjoin4

メトリクス クエリの保存

メトリクス クエリを保存すると、現在選択されている時間範囲、グラフ オプション、外れ値検出、量子化設定が Sumo Logic ライブラリに保存されます。タイムゾーンもライブラリの他の検索コンテンツと同様に、UTC 形式で保存されます。このため、別のタイムゾーンにいるユーザと問題なくコンテンツを共有することができます。

メトリクス クエリを保存するには、次の手順を実行します。

  1. メトリクス クエリを入力して実行し、結果が返されることを確認します。
  2. メトリクス グラフ タブの右上にある保存アイコンをクリックします。
  3. [Save Item (項目の保存)] ポップアップが表示されます。
  4. Name (名前): メトリクス クエリの名前を入力します。
  5. クエリを保存するフォルダに移動します。
  6. [Save (保存)] をクリックします。

メトリクス クエリ エラー

メトリクス クエリがタイムアウトになるか、一致する時系列が多すぎる場合にエラー メッセージが表示されます。

 

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