概要
メトリクスモニターは連続的なデータのストリームに役立ちます。Datadog に送信されるメトリクスのいずれかが、一定の期間にしきい値から外れると、アラートを送信します。
Datadog でメトリクスモニターを作成するには、Monitors > New Monitor に移動し、Metric モニタータイプを選択します。
検出方法を選択する
しきい値アラートは、メトリクス値を静的なしきい値と比較します。
アラートの評価では、Datadog は選択した期間の平均値、最小値、最大値、または合計値を算出し、それがしきい値を上回っているか、下回っているか、等しいか、等しくないかをチェックします。これは予想される値が明確な標準的なアラートケース向けです。distribution メトリクスタイプでは、選択した期間のパーセンタイルを計算する追加のしきい値オプションが利用できます。
詳細はアラートの条件を設定するセクションを参照してください。
変化アラートは、N 分前の値と現在の値との絶対変化量または相対変化量を指定のしきい値と比較します。比較されるデータポイントは、単一ポイントではなく、メトリクスを定義するセクションのパラメーターを使用して計算された値です。
アラートの評価では、現在の系列と N 分前の系列の差分 (正または負の値) を計算し、その値の選択された期間における平均、最小、最大、合計を計算します。その結果、系列がしきい値から外れる場合にアラートがトリガーされます。
このタイプのアラートは、しきい値を常に予期できる場合に、メトリクスのスパイク、ドロップ、あるいは緩やかな変化を追跡するのに役立ちます。
詳細は変化アラートモニターガイドを参照してください。
異常検出アラートは、過去の動作を使用して、メトリクスの異常な動作を検出します。
異常アラートは、系列に対して予期される値の範囲を、過去の値を基に計算します。異常検知アルゴリズムには、予期される範囲を時刻や曜日を使用して判断し、シンプルなしきい値アラートでは検知できない異常の検知を行うものがあります。たとえば、午前 10 時なら正常であっても、午前 5 時なら異常に高いと判断される系列を検知できます。
アラートの評価では、予期される範囲の内、外、上、下にある系列の割合を計算します。この割合がしきい値から外れる場合にアラートがトリガーされます。
詳細は異常検知モニターページを参照してください。
外れ値モニターは、グループの他のメンバー (ホスト、アベイラビリティーゾーン、パーティションなど) と比較して挙動が異なるメンバーを検知します。
各アラートの評価時に、すべてのグループが一緒にクラスター化され、同じ動作を示しているかをチェックします。1 つ以上のグループの動作が他のグループと異なる場合にアラートがトリガーされます。
詳細は外れ値モニターページを参照してください。
予測値アラートは、メトリクスの今後の動作を予測し、それを静的なしきい値と比較します。強い傾向や繰り返しパターンがあるメトリクスに適しています。
アラートの評価では、偏差の範囲を考慮してメトリクスの今後の値を予測します。この範囲のいずれかの部分がしきい値から外れる場合にアラートがトリガーされます。
詳細は予測値モニターページを参照してください。
メトリクスを定義する
Datadog に報告されるすべてのメトリクスをモニターで確認できます。エディタと下記のステップを使用してメトリクスを定義します。クエリパラメーターは、選択した検出方法によって多少異なります。
| ステップ | 必須 | デフォルト | 例 |
|---|
| メトリクスを選択する | はい | なし | system.cpu.user |
定義する from | いいえ | すべての場所 | env:prod |
| メトリクス集計を指定する | はい | avg by | sum by |
| グループ化基準 | いいえ | すべての条件 | host |
| モニタークエリの集計を指定する | いいえ | average | sum |
| 評価ウィンドウ | いいえ | 5 minutes | 1 day |
定義
| オプション | 説明 |
|---|
| average | 系列の平均値を計算して、しきい値との比較でチェックする単一の値を生成します。モニタークエリに avg() 関数を追加します。 |
| max | 生成された系列内のいずれか 1 つの値でもしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに max() 関数を追加します。しきい値のその他の挙動については、「注」セクションを参照してください。 |
| min | クエリの評価ウィンドウ内のすべてのポイントがしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに min() 関数を追加します。しきい値のその他の挙動については、「注」セクションを参照してください。 |
| sum | 系列内のすべてのポイントの合計値がしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに sum() 関数を追加します。 |
| percentile(pXX) | クエリの評価ウィンドウ内のポイントの pXX パーセンテージがしきい値を超えた場合に、アラートがトリガーされます。このオプションは、モニタークエリに percentile 関数を追加します。distribution メトリクスタイプにのみ利用可能です。 |
| Evaluation window | モニターが評価する時間帯を指定します。5 minutes、15 minutes、1 hour、custom といったプリセットされた時間枠を使用して、1 分~730 時間 (1 か月) の間で設定します。 |
| ステップ | 必須 | デフォルト | 例 |
|---|
| メトリクスを選択する | はい | なし | system.cpu.user |
定義する from | いいえ | すべての場所 | env:prod |
| メトリクス集計を指定する | いいえ | avg by | sum by |
| グループ化基準 | いいえ | すべての条件 | host |
| モニタークエリの集計を指定する | いいえ | average | sum |
| 変更タイプを選択する | いいえ | change | % change |
| 評価ウィンドウ | いいえ | 5 minutes | 1 day |
| 比較ウィンドウ | いいえ | 5 minutes | 1 month |
定義
| オプション | 説明 |
|---|
| change | 値の絶対変化量です。 |
| % change | 過去の値と比較した値の変化率です。たとえば、過去の値が 2 で現在の値が 4 の場合、% change は 100% になります。 |
| average | 系列の平均値を計算して、しきい値との比較でチェックする単一の値を生成します。モニタークエリに avg() 関数を追加します。 |
| max | 生成された系列内のいずれか 1 つの値でもしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに max() 関数を追加します。しきい値のその他の挙動については、「注」セクションを参照してください。 |
| min | クエリの評価ウィンドウ内のすべてのポイントがしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに min() 関数を追加します。しきい値のその他の挙動については、「注」セクションを参照してください。 |
| sum | 系列内のすべてのポイントの合計値がしきい値を超えた場合に、アラートがトリガーされます。モニタークエリに sum() 関数を追加します。 |
| percentile(pXX) | クエリの評価ウィンドウ内のポイントの pXX パーセンテージがしきい値を超えた場合に、アラートがトリガーされます。このオプションは、モニタークエリに percentile 関数を追加します。distribution メトリクスタイプにのみ利用可能です。 |
| Evaluation window | モニターが評価する時間帯を指定します。5 minutes、15 minutes、1 hour、custom といったプリセットされた時間枠を使用して、1 分~730 時間 (1 か月) の間で設定します。 |
注:
- パーセンタイルアグリゲータを使用する distribution メトリクスの場合、対応するパーセンタイルしきい値が自動的に指定されます。パーセンタイルアグリゲータを使用しているメトリクスは、通知メッセージ内にスナップショットグラフを生成しません。
- max/min: これらの max と min の説明は、メトリクスがしきい値を上回ったときにモニターがアラートすることを想定しています。しきい値を下回ったときにアラートするモニターでは、max と min の動作は逆になります。
- モニターを作成するメトリクスの定義は、グラフを作成するメトリクスの定義と似ています。
Advanced... オプションの使用について詳しくは、高度なグラフの作成を参照してください。 as_count() を使用する場合は動作が異なります。詳細については、モニター評価での as_count() を参照してください。N/A グループはモニターに含まれないため、タグキーには値が必要です。
アラート条件の設定
メトリクスが次のいずれかの場合にトリガーします。
aboveabove or equal tobelowbelow or equal toequal tonot equal to
値が 0 と 1 の間にある場合、先頭に 0 が必要です(例: 0.3)。
高度なアラート条件
データウィンドウ
評価の際に、データウィンドウが一杯であることを判断するかどうかを Require または Do not require で指定できます。
この設定では、モニターを評価するタイミングをアラートエンジンが判断する方法を変更できます。
Do not require (デフォルト): モニターは認識されるとすぐに評価されます。データポイントがまばらである可能性がある場合は、この値の使用を検討します。この構成では、評価タイムフレームに単一のデータポイントがある場合でも、モニターが評価されます。
Require: 評価ウィンドウがデータで filled (満たされている) と見なされるまで、モニターは評価されません。評価期間全体にわたってデータがある場合に通知を受けるには、このオプションを使用します。
評価タイムフレームがデータで filled (満たされている) かどうかを定義するために、タイムフレームはより小さなバケットに分割されます。
次のロジックがバケットサイズを決定します。
- 分単位の評価タイムフレーム: バケットサイズは 1 分です
- 時間単位の評価タイムフレーム: バケットサイズは 10 分です
- 日単位の評価タイムフレーム: バケットサイズは 1 時間です
- 月単位の評価タイムフレーム: バケットサイズは 4 時間です
「フルウィンドウ」と見なされるには、モニターに次のものが必要です。
- 最初のバケットに少なくとも 1 つのデータポイント。最初のバケットは、ウィンドウで時系列的に一番早いバケットです。
- 合計で 3 つを超えるバケットにデータポイントが存在しない場合は認められません。
条件が満たされると、モニターが評価されます。それ以外の場合、評価はキャンセルされ、モニターの状態は変更されません。
たとえば、過去 2h の評価を行うモニターは、10 分単位の 12 個のバケットに分割されます。最初のバケットにデータがあり、空のバケットが合計で 3 つまでの場合、モニターはフルであると見なされます。
| データ | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8 | B9 | B10 | B11 | フルウィンドウ |
|---|
| ケース 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | はい |
| ケース 2 | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | いいえ |
| ケース 3 | 1 | 1 | x | x | x | 1 | 1 | 1 | 1 | 1 | 1 | 1 | はい |
| ケース 4 | 1 | x | x | x | 1 | 1 | 1 | 1 | x | x | 1 | 1 | いいえ |
評価ウィンドウについて、詳しくはモニターの構成ページを参照してください。
その他のオプション
高度なアラートオプション (no data、auto resolve) の手順については、モニターの構成ページを参照してください。
通知
Configure notifications and automations セクションの手順については、通知とモニターの構成のページを参照してください。
参考資料