クエリ

クエリ

概要

Datadog では、メトリクス、ログ、トレース、モニター、ダッシュボード、ノートブックなどのすべてのグラフで同じ基本機能は使用しています。このページでは、グラフエディターのクエリについて説明します。上級レベルのユーザーは、JSON を使用したグラフの作成や編集が可能です。詳細については、JSON を使用したグラフ作成をご参照ください。

グラフエディター

ウィジェットで、右上の鉛筆アイコンをクリックしてグラフエディターを開きます。グラフエディターには以下のタブがあります。

  • Share: 任意の外部 Web ページにグラフを埋め込みます。
  • JSON: より柔軟性の高いエディター。グラフ定義言語の知識が必要です。
  • Edit: グラフ作成オプションのデフォルトの UI タブ。

初めてグラフエディターを開くと、Edit タブが表示されます。UI からほとんどの設定を選択できます。以下に例を示します。

グラフを構成する

ダッシュボードでグラフを構成するには、次のプロセスに従ってください。

  1. 視覚化の方法を選択
  2. グラフ化するメトリクスを選択
  3. フィルター
  4. 集計、ロールアップ
  5. 追加の関数を適用
  6. グラフのタイトルを作成

視覚化に使用するウィジェットを選択する

利用可能なウィジェットから視覚化に使用するウィジェットを選択します。

グラフ化するメトリクスを選択する

グラフ化するメトリクスを検索するか、Metric の横のドロップダウンから選択して決定します。使用するメトリクスが不明な場合は、メトリクスエクスプローラーノートブックで開始するとよいでしょう。Metrics Summary ページのメトリクス一覧を参考にすることもできます。

フィルター

選択したメトリクスには、メトリクスの右側にある from ドロップダウンからホストまたはタグによるフィルターを設定することができます。デフォルトでは (everywhere) に設定されています。

from ドロップダウン内の高度なフィルタリングを使用して、以下のようなブール型またはワイルドカードでフィルタリングされたクエリを評価することも可能です。

タグの詳細は、タグ付けに関するドキュメントを参照してください。

集計、ロールアップする

集計の方法

集計方法は、フィルターのドロップダウンの隣に表示されます。デフォルトでは avg by に設定されていますが、max bymin bysum by に変更できます。ほとんどの場合、メトリクスは多数のホストやインスタンスから集計されるため、時間間隔ごとに多数の値が含まれています。選択した集計方法によって、メトリクスを 1 本の線に集計する方法が決まります。

集計グループ

集約方法のドロップダウンの隣から、グラフ上で線またはグループを構成する要素を選択します。たとえば、host を選択すると、各 host につき 1 本の線が表示されます。各線は、特定の host に関する選択されたメトリクスで構成されており、選択した方法により集約されます。

ロールアップして長期にわたる集計を表示する

前述の手順で選択したオプションに関係なく、グラフの表示ウィンドウに物理的なサイズ制約があることから、データは常にある程度集約されています。メトリクスが毎秒更新され、4 時間分のデータを表示する場合、全データを表示するには 14,400 ポイントが必要です。この期間内に各グラフで表示できるポイント数は 300 です。そのため、画面上の 1 ポイントは 48 データポイントに相当します。

実際には、メトリクスは Agent によって 15~20 秒ごとに収集されます。そのため、1 日分のデータは 4,320 データポイントとなります。1 つのグラフで 1 日分のデータを表示する場合、Datadog は自動的にデータをロールアップします。詳細については、メトリクスのはじめにをご参照ください。

データを手動でロールアップするには、丸め関数を使用します。集計グループの右側にあるプラス記号をクリックして、ドロップダウンから rollup を選択します。次に、データの集計方法と間隔 (秒) を選択します。

このクエリにより、1 分のバケットでマシン全体の合計空きディスク容量の平均値を平均でロールアップしたことを表す 1 本の線を作成します。

JSON ビューに切り替えると、以下のようなクエリが表示されます。

"query": "avg:system.disk.free{*}.rollup(avg, 60)"

完全な JSON は次のようになります。

{
    "viz": "timeseries",
    "requests": [
        {
            "formulas": [
                {
                    "formula": "query1"
                }
            ],
            "queries": [
                {
                    "data_source": "metrics",
                    "name": "query1",
                    "query": "avg:system.disk.free{*}.rollup(avg, 60)"
                }
            ],
            "response_format": "timeseries",
            "type": "line",
            "style": {
                "palette": "dog_classic",
                "type": "solid",
                "width": "normal"
            }
        }
    ],
    "yaxis": {
        "scale": "linear",
        "min": "auto",
        "max": "auto",
        "include_zero": true,
        "label": ""
    },
    "markers": []
}

JSON ビューの使用方法については、JSON を使用したグラフ作成をご参照ください。

高度なグラフの作成

分析のニーズに応じて、割合、微分係数、平滑化など、他の数学関数をクエリに適用することもできます。詳細については、使用可能な関数のリストをご参照ください。

また、Datadog では、さまざまな算術演算によりメトリクス、ログ、トレース、その他のデータソースをグラフ化できます。グラフに表示される 値を変更するには、+-/* を使用します。この構文では、整数値、および複数のメトリクスを使用した演算の両方を使用できます。

各メトリクスを別々にグラフに表示するには、コンマ (,) を使用します(例: a, b, c)。

: コンマを使用したクエリは視覚化でのみサポートされ、モニターでは機能しません。モニターで複数のメトリクスを組み合わせるには、ブール演算子または算術演算子を使用します。

整数を使用したメトリクスの演算

グラフでメトリクス値の表示方法を変更するには、算術演算を実行します。たとえば、特定のメトリクスの 2 倍の値を視覚化するには、グラフエディターで Advanced… リンクをクリックします。次に、Formula ボックスに計算式 (この例では a * 2) を入力します。

2 つのメトリクス間の計算

メトリクスの割合を視覚化するには、1 つのメトリクスをもう 1 つのメトリクスで除算します。以下に例を示します。

jvm.heap_memory / jvm.heap_memory_max

グラフエディターの Advanced… オプションから Add Query を選択します。クエリにはアルファベット順に文字が割り当てられ、最初のメトリクスは a 、2 番目のメトリクスは b のように表示されます。

次に、Formula ボックスに算術演算 (この例では a / b) を入力します。グラフに数式のみを表示するには、メトリクス a および b の横にあるチェックマークをクリックします。

これは、error ログと info ログの比率をグラフ化する方法を示す別の例です。

status:error / status:info

: 数式に文字は割り当てられません。数式間では演算できません。

エイリアスを作成する

データソースのカスタムエイリアスを作成して、ユーザーがグラフの結果を簡単に解釈できるようにすることができます。

タイトルの作成

タイトルを入力しなくても、選択内容に基づいてタイトルが自動的に生成されますが、グラフの内容を表すタイトルをご自身で作成することをお勧めします。

保存

作業内容を保存してエディターを終了するには Done をクリックします。いつでもエディターに戻ってグラフを変更できます。変更を加えた一方で、その内容を保存しない場合は、Cancel をクリックします。

APM 統計グラフの構成

APM 統計データを使用してグラフを構成するには、次の手順に従います。

  1. 視覚化の方法を選択 (メトリクスと同様)
  2. 詳細レベルを選択
  3. パラメーターを選択
  4. グラフのタイトルを作成 (メトリクスと同様)

詳細レベル

1 つ以上のサービス、リソース、またはスパンの統計を表示する詳細レベルを選択します。(これらのすべてがすべてのウィジェットタイプで使用できるわけではありません。)

APM 統計パラメーター

グラフエディタから次のパラメーターを選択します: 環境 (env)、プライマリタグ (primary_tag)、サービス (service)、オペレーション名 (name)。

詳細レベルがリソースまたはスパンの場合、一部のウィジェットタイプでは、クエリの範囲を狭めるためにリソース名 (resource) を選択する必要もあります。

Incident Management 分析

Incident Management 分析は、次の手段を提供します。

  • インシデント数
  • 顧客への影響期間
  • ステータスアクティブ期間
  • ステータス安定期間
  • 修理までの時間 (顧客への影響の終了時間 - 作成された時間)
  • 解決までの時間 (解決された時間 - 作成された時間)

Incident Management 分析は、次のウィジェットでサポートされています。

  • Timeseries
  • トップリスト
  • クエリ値

グラフコンフィギュレーション

Incident Management 分析データを使用してグラフを構成するには、次の手順に従います。

  1. 視覚化の方法を選択します (メトリクスと同様)
  2. データソースのドロップダウンメニューから Incidents を選択します
  3. 黄色のドロップダウンメニューからメジャーを選択します
    • Default Statistic: インシデントの数を数えます
  4. メジャーの集計を選択します
  5. (オプション) メジャーのロールアップを選択します
  6. (オプション) 検索バーを使用して、インシデントの特定のサブセットに統計をフィルタリングします
  7. (オプション) ピンクのドロップダウンメニューでファセットを選択してメジャーをグループごとに分割し、表示するグループの数を制限します
  8. グラフのタイトルを作成します (メトリクスと同様)
  9. ウィジェットの保存

例: サービスごとの毎週の停止の顧客への影響期間

  1. ウィジェット: 時系列折れ線グラフ
  2. データソース: Incidents
  3. メジャー: Customer Impact Duration
  4. 集計: avg
  5. ロールアップ: 1w
  6. フィルター: severity:(“SEV-1” OR “SEV-2”)
  7. グループ: Services, limit to top 5

その他のオプション

イベントオーバーレイ

グラフエディターの Event Overlays セクションを使用すると、イベントの相関性を表示できます。検索フィールドにテキストまたは構造化された検索クエリを入力します。検索の詳細については、Datadog イベントクエリ言語をご参照ください。

その他の参考資料

お役に立つドキュメント、リンクや記事: