メトリクスの概要
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

メトリクスの概要

メトリクスデータ

Datadog では、メトリクスデータは値とタイムスタンプを持つデータポイントとして収集され、格納されます。

[ 17.82,  22:11:01 ]

一連のデータポイントが 1 つの時系列として格納されます。

[ 17.82,  22:11:01 ]
[  6.38,  22:11:12 ]
[  2.87,  22:11:38 ]
[  7.06,  22:12:00 ]

Datadog では メトリクスポイントを 1 秒の解像度で保存しています。しかし、ポイントの送信は 15 秒間隔で行うことをお勧めします。1 秒未満のタイムスタンプを持つメトリクスは、最も近い秒単位に丸められます。また、同じタイムスタンプを持つポイントが複数ある場合は、最新のポイントによって以前のポイントが上書きされます。

クエリ

クエリは格納された時系列を抽出し、定義された期間のデータポイントを報告します。15 分間の時系列をグラフ化したものを示します。

選択された期間が短い場合は、すべてのデータポイントが表示されます。しかし期間が長くなると、1 つのピクセルで数千もの未加工データポイントを表示することは不可能です。

時間集計

Datadog は時間集計を使用してこの表示問題を解決します。データポイントは、開始点と終了点がプリセットされた時間バケットに配置されます。たとえば、4 時間を調査する場合は、データポイントは 2 分バケットにまとめられます。データポイントのこのような結合方法は、ロールアップと呼ばれます。

Datadog はすべてのタイムウィンドウに対して約 150 ポイントの返却を試行します。時間量が増加するにつれて、データの粒度は粗くなります。ここでの平均値を取る形で時間集計が行われます。

時系列の結合

複数の時系列をまとめて 1 つの時系列にすることがあります。たとえば、インフラストラクチャーの Web サーバーが受信した平均データを確認する場合を考えます。

2 つのホストが Datadog に同じメトリクスを送信しているとします。

ホストごとにデータを見ると、net.bytes_rcvd が送信される時間がわずかに異なります。

空間集計

2 つの時系列を結合するには、データの時間が同期している必要があります。Datadog は以下のいずれかの方法を使用します。

  1. 時間集計が適用されない場合は、データポイントを補間する必要があります。まず、共通のタイムスタンプを決定します。これにより、その時点での各時系列の値が推計されます。

  2. 時間集計が適用される場合は、ロールアップを使用して、各時系列で開始点と終了点を共有する時間バケットが作成されます。

開始点と終了点が時間整合されると、時系列が空間集計されて、両方の平均を表す 1 つの時系列が生成されます。

メトリクスクエリの分割

Datadog では、メトリクスクエリは以下のように表示されます。

JSON を見ると、クエリは空間集計、メトリクス名、スコープ、およびグループ化によって分割できます。

  • Scope (スコープ) は、クエリの時系列の選択に使用する一連のタグです。
  • Grouping (グループ化) は、空間集計を適用する一連のタグです。
  • Time aggregation (時間集計) は黙示的に行われますが、ロールアップ関数を使用して手動で設定できます。

その他の参考資料