概要
新規または既存の Datadog モニターから SLO を作成するには、モニター ベース SLO を作成します。モニター ベース SLO を使うと、システムが正常に動作している時間を総時間で割ることで、サービス レベル インジケーター (SLI) を算出できます。
Time Slice SLO は、時間ベースで SLI を計算して SLO を作成する別の方法です。Time Slice SLO を使えば、モニターを介さずに uptime SLO を作成できるため、モニターと SLO を両方作成して維持管理する必要がありません。
前提条件
モニターベースの SLO を作成するには、既存の Datadog モニターが必要です。新しいモニターをセットアップするには、モニター作成ページにアクセスします。
Datadog のモニターベースの SLO は、以下のモニタータイプをサポートしています。
- メトリクスモニターの種類 (メトリクス、インテグレーション、APM メトリクス、異常検知、予測値、外れ値)
- Synthetic
- サービス チェック
セットアップ
SLO ステータス ページ で + New SLO をクリックし、続けて By Monitor Uptime を選択します。
クエリの定義
検索ボックスで、モニターの名前を入力し始めます。一致するモニターのリストが表示されます。モニター名をクリックすると、そのモニターがソースリストに追加されます。
注:
- SLO で単一のマルチ アラート モニターを使用する場合は、必要に応じて “Calculate on selected groups” を選択し、最大 20 個のグループを指定できます。
- SLO に複数のモニターを追加する場合、グループの選択には対応していません。追加できるモニターは最大 20 個です。
SLO ターゲットの設定
目標パーセンテージ、タイムウィンドウ*、オプションで警告レベルを選択します。
target percentage は、SLO の基盤となるモニターが ALERT 状態にならない時間の割合を示します。time window は、SLO が計算を行うローリング期間を指定します。
SLI の値に応じて、Datadog UI は SLO のステータスを異なる色で表示します。
- SLI が目標値を超えている間は、UI に SLO のステータスが緑色で表示されます。
- SLI が目標値を下回ると、UI に SLO のステータスが赤色で表示されます。
- 警告レベルを含め、SLI が警告を下回り、目標レベルを上回った場合、UI に SLO のステータスが黄色で表示されます。
選択したタイムウィンドウによって、モニターベースの SLO に利用できる精度が変わります。
- 7 日および 30 日のタイムウィンドウは、小数点以下 2 桁まで表示可能です。
- 90 日のタイムウィンドウは、小数点以下 3 桁まで表示可能です。
SLO の詳細 UI では、7 日および 30 日のタイムウィンドウで構成された SLO については小数点以下 2 桁、90 日のタイムウィンドウで構成された SLO については小数点以下 3 桁が Datadog に表示されます。
次の例は、Datadog が SLO 計算の小数点以下の桁数を制限して表示する理由を示しています。7 日または 30 日のタイムウィンドウで 99.999% の目標を設定すると、それぞれ 6 秒または 26 秒のエラーバジェットが発生します。モニターは 1 分ごとに評価するため、モニターベースの SLO の粒度も 1 分となります。したがって、1 つのアラートで、前の例の 6 秒または 26 秒のエラーバジェットが完全に消費され、過剰に使用されることになります。実際には、チームはこのような小さなエラーバジェットを満足させることはできません。
1 分間に 1 回のモニター評価よりも細かい粒度が必要な場合は、代わりにメトリクスベースの SLO を使用することを検討してください。
名前とタグを追加する
SLO の名前と詳細な説明を入力します。SLO に関連付けたいタグを選択します。Create または Create & Set Alert を選択して、新しい SLO を保存します。
ステータス計算
Datadog は、特定のグループが選択されていない限り、すべてのモニターまたはモニター グループの uptime パーセンテージを用いて、SLO の全体ステータスを計算します:
- 特定のグループが選択されている場合 (最大 20 グループ)、SLO ステータスはそれらのグループだけを対象に計算されます。UI には選択されたグループがすべて表示されます。
- 特定のグループが選択されていない場合、SLO ステータスは すべて のグループにまたがって計算されます。UI には、SLO の配下にあるグループがすべて表示されます。
注: グループがあるモニターベースの SLO では、最大 5,000 グループを含む SLO に対してすべてのグループを表示できます。5,000 を超えるグループを含む SLO の場合、SLO はすべてのグループに基づいて計算されますが、UI にはグループは表示されません。
モニターベースの SLO は、WARN 状態を OK として扱います。SLO の定義には、良い動作と悪い動作の二元的な区別が必要です。SLO の計算では、WARN は悪い動作を示すほど深刻ではないため、WARN を良い動作として扱います。
3 つのモニターを含むモニターベースの SLO の次の例を考えます。1 台のマルチアラートモニターに基づくモニターベースの SLO の計算も同様です。
| モニター | t1 | t2 | t3 | t4 | t5 | t6 | t7 | t8 | t9 | t10 | ステータス |
|---|
| モニター 1 | OK | OK | OK | OK | アラート | OK | OK | OK | OK | OK | 90% |
| モニター 2 | OK | OK | OK | OK | OK | OK | OK | OK | アラート | OK | 90% |
| モニター 3 | OK | OK | アラート | OK | アラート | OK | OK | OK | OK | OK | 80% |
| 全体的なステータス | OK | OK | アラート | OK | アラート | OK | OK | OK | アラート | OK | 70% |
この例では、全体のステータスが個々のステータスの平均値よりも低くなっています。
モニターをミュートしても SLO の計算には影響しません。SLO の計算から特定の期間を除外したい場合は、SLO ステータス修正 機能を使用してください。
Synthetic テストの例外
場合によっては、1 つのグループ化された Synthetic テストで構成されるモニターベースの SLO のステータス計算に例外があります。Synthetic テストには、テストが ALERT 状態に入るときの動作を変更し、その結果、全体的なアップタイムに影響を与えるオプションの特別なアラート条件があります。
- グループが指定された分数の間失敗するまで待ちます (デフォルト: 0)
- 指定された数のグループが失敗するまで待ちます (デフォルト: 1)
- ロケーションのテストが失敗と見なされる前に、指定された回数再試行します (デフォルト: 0)
これらの条件のいずれかをデフォルト以外に変更した場合、1 つの Synthetic テストを使用するモニターベースの SLO の全体的なステータスは、Synthetic テストの個々のグループの集計ステータスよりも優れているように見える可能性があります。
Synthetic テストのアラート条件の詳細については、Synthetic モニタリングを参照してください。
欠損データ
メトリクス モニター
メトリクス モニターを作成する際に、モニターが欠損データをどう扱うか を選択します。この設定によって、モニター ベース SLO の計算で欠損データをどのように解釈するかが変わります:
| Monitor configuration | 欠損データの SLO 計算 |
|---|
Evaluate as zero | モニターのアラートのしきい値に依存します。 たとえば、しきい値が > 10 の場合は Uptime (Monitor のステータスが OK になるため) になり、しきい値が < 10 の場合は Downtime になります。 |
Show last known status | SLO の前回の状態を維持 |
Show NO DATA | アップタイム |
Show NO DATA and notify | Downtime |
Show OK | アップタイム |
その他のモニターの種類
サービス チェック モニターを作成する場合、データが欠損しているときにアラートを送信するかどうかを選択します。この設定によって、モニター ベース SLO の計算で欠損データをどのように解釈するかが変わります。欠損データを無視するよう設定されたモニターでは、欠損が発生している期間は SLO によって OK (uptime) として扱われます。欠損データでアラートを出すよう設定されたモニターでは、欠損が発生している期間は SLO によって ALERT (downtime) として扱われます。
Synthetic テストを一時停止すると、SLO はデータが欠落している期間を計算から除外します。UI では、これらの期間は SLO ステータスバーで薄いグレーで表示されます。
その他の参考資料