クエリ

概要

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

ダッシュボードやノートブックページにあるグラフエディターを使ってクエリを実行することもできますが、どのページでも利用可能なクイックグラフを使うこともできます。クイックグラフは、任意のページで G をクリックすると開きます。詳しくは、クイックグラフガイドをご覧ください。

グラフエディター

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

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

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

グラフエディターの Edit タブ

グラフを構成する

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

  1. 視覚化の方法を選択
  2. メトリクスの定義
  3. メトリクスのフィルタリング
  4. 時間集計の構成
  5. 空間集計の構成
  6. 関数の適用
  7. グラフのタイトルを作成

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

利用可能なウィジェットの中から視覚化したいものを選択します。

メトリクスを定義する

検索するか、Metric の隣にあるドロップダウンから選択して、グラフ化したいメトリクスを選択します。使用するメトリクスが分からない場合は、メトリクスのドロップダウンから unittypeintervaldescriptiontags、および tag values の数などの追加情報を得ることができます。

メトリクス選択ドロップダウン

メトリクスエクスプローラーノートブックでメトリクスをさらに詳しく調べたり、メトリクスの概要ページでメトリクスのリストを閲覧することができます。

フィルター

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

グラフの作成フィルター

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

ブール型フィルターでグラフを作成

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

集計、ロールアップする

集計の方法

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

時間集計の構成

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

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

手動でデータをロールアップするには、rollup 関数を使用します。シグマのアイコンをクリックして関数を追加し、ドロップダウンメニューから rollup を選択します。次に、データを集計する方法と間隔 (秒) を選択します。

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

シグマ追加関数アイコンをハイライトする system.disk.free メトリクスのロールアップ例

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 を使用したグラフ作成をご参照ください。

空間集計の構成

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

さらに、メトリクスの定義で使用されるメトリクスのドロップダウンでタグをクリックすると、データをグループ化したり、集計したりすることができます。

高度なグラフの作成

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

また、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) を選択する必要もあります。

その他のオプション

イベントオーバーレイ

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

その他の参考資料

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