サービスレベル目標

サービスレベル目標


概要

サービスレベル目標 (SLO) は、サイト信頼性エンジニアリングツールキットの重要な要素です。SLO を使用し、アプリケーションのパフォーマンスに明確なターゲットを定義するためのフレームワークを整えることで、一貫したカスタマーエクスペリエンを提供したり、プラットフォームの安定性を保ちつつ機能を開発したり、内部および外部ユーザーとのコミュニケーションを改善するために役立てることができます。

重要な用語

サービスレベル指標 (SLI)
サービスのパフォーマンスまたは信頼性を定量的に測定するもの。Datadog SLO では、SLI はメトリクスまたは 1 つ以上のモニターの集合体です。
サービスレベル目標 (SLO)
特定の期間における SLI のターゲット割合。
サービスレベル契約 (SLA)
クライアントとサービスプロバイダとの間で交わされる、明示的または暗示的な合意事項で、クライアントの信頼性に対する期待とそれを満たさない場合にサービスプロバイダ側が補償する内容について規定したもの。
エラーバジェット
SLO のターゲット割合 (100% - ターゲット割合) から算出される許容範囲内の不確実性。これは製品開発における投資として見なされます。

セットアップ

Datadog のサービスレベル目標ステータスページを使用して、新しい SLO を作成したり、既存の SLO を表示して管理することができます。また、SLO サマリーウィジェットをダッシュボードに追加すると、SLO のステータスを一目で確認できます。

構成

  1. SLO ステータスページNew SLO + を選択します。
  2. SLO のソースを定義します。SLO の種類には、メトリクスベースモニターベースがあります。
  3. 最大 3 つの SLO ターゲットをセットアップします。それぞれのターゲットはターゲット割合とローリングタイムウィンドウから成ります。利用可能なタイムウィンドウは、7 日、30 日、90 日です。SLO のターゲット割合を SLA で指定するターゲット割合より厳し目に設定することが推奨されます。
  4. 最後に、SLO にタイトルを付け詳細を入力するか、説明にリンクを足しタグを追加して保存します。

SLO を設定したら、サービスレベル目標リストビューから SLO を選択して、詳細サイドパネルを開きます。サイドパネルには、SLO の各ターゲットの全体的なステータスのパーセンテージと残りのエラーバジェット、および SLI の履歴のステータスバー (モニターベースの SLO) または棒グラフ (メトリクスベースの SLO) が表示されます。1 つのマルチアラートモニターを使用してグループ化されたモニターベースの SLO を作成した場合、または sum byを使用してグループ化されたメトリクスベースの SLO を作成した場合、全体的なステータスのパーセンテージと残りのエラーバジェットに加えて、個々のグループのステータスのパーセンテージと残りのエラーバジェットが表示されます。

例: アベイラビリティーゾーンごとにレイテンシを追跡するためにモニターベースの SLO 作成すると、全体的な SLO と SLO が追跡している個々のアベイラビリティーゾーンのステータス割合とエラーバジェットの残量が表示されます。

SLO ターゲットの設定

エラーバジェットとエラーバジェットアラートの利点を活用するには、SLO ターゲット値を 100% 未満に厳密に設定する必要があります。

100% の目標を設定するということは、エラーバジェットが 100% に等しいため、エラーバジェットが 0% になることを意味します (SLO ターゲット)。許容可能なリスクを表すエラーバジェットがないと、顧客対応の信頼性を維持するという相反する優先順位と機能開発への投資との間の整合性を見つけることが困難になります さらに、目標値が 100% の SLO は、SLO アラート評価でゼロ除算エラーにつながります。

注: SLO で指定できる小数の桁数は、SLO の種類と選択するタイムウィンドウに応じて異なります。それぞれの SLO の種類について、詳しくは次のリンクを参照してください。

モニターベースの SLO: 7 日および 30 日目標の場合は小数第 2 位まで、90 日目標の場合は小数第 3 位まで。

メトリクスベースの SLO: すべての目標について小数第 3 位まで。

SLO の変更

SLO を編集するには、リストビューで SLO の行にカーソルを合わせて、行の右側に表示される編集鉛筆アイコンをクリックするか、行をクリックして詳細なサイドパネルを開き、パネルの右上に表示される歯車アイコンから編集ボタンを選択します。

SLO の検索と表示

サービスレベル目標ステータスページでは、すべての SLO に対し高度な検索を実行して、検索結果から SLO を検索、表示、編集、複製、削除できます。

高度な検索を使用し、SLO の属性をどれでも組み合わせて SLO をクエリできます。

  • name および description - テキスト検索
  • time window - 7日、30日、90日
  • type - メトリクス、モニター
  • creator
  • tags - datacenter、env、service、team, など。

検索を実行するには、左側のファセットチェックボックスと上部の検索バーを使用します。ボックスをチェックすると、それに合わせて検索バーのクエリが更新されます。同様に、検索バーのクエリを変更 (あるいは新規入力) すると、ボックスのチェックが更新されます。クエリ結果はクエリの変更に合わせてリアルタイムで更新されます。‘検索’ボタンはありません。

個々の SLO を編集するには、SLO の上にカーソルを置き、その行の右側に表示される EditCloneDelete ボタンを使用します。SLO の内容を詳しく確認するには、その行をクリックしてサイドパネルを開きます。

SLO タグ

SLO の作成時や変更時に、SLO ステータスページでフィルタリングに必要なタグやSLO の保存済みビューの作成に必要なタグを追加することができます。

SLO のデフォルトビュー

SLO のリストビューに移動すると、デフォルトの SLO ビューが読み込まれます。

デフォルトビューには以下が含まれます。

  • 空の検索クエリ
  • オーガニゼーションで定義されているすべての SLO リスト
  • 左側のファセットリストで利用可能なファセットのリスト

保存済みビュー

以下を共有することで、チームに最も関連性の高い SLO についてカスタマイズした検索を保存ビューの SLO リストビューに保存し共有することができます。

  • 検索クエリ
  • 選択したファセットのサブセット

リストビューで SLO のサブセットを問い合わせると、そのクエリを保存ビューとして追加できるようになります。

保存ビューの追加

保存ビューを追加するには、

  1. SLO を問い合わせます。
  2. ページ左上の Save View + をクリックします。
  3. ビューに名前を付けて保存します。

保存ビューのロード

保存済みビューを読み込むには、ページ左上の Show Views ボタンを押して Saved Views パネルを開き、リストから保存済みビューを選択します。保存済みビューは、同じ Saved Views パネルの上部にある Filter Saved Views 検索ボックスで検索することもできます。

保存ビューの共有

リストから保存済みビューにカーソルを合わせハイパーリンクを選択し、保存済みビューにリンクをコピーすれば、チームメイトと共有できます。

保存ビューの管理

使用済みビューは一旦使用すると、その保存済みビューを選択し、クエリを変更し、Saved Viewsパネルのその名前の下にある Update ボタンをクリックすることで、更新することができます。保存済みビューの名前を変更したり、保存済みビューを削除するには、Saved Views パネルでその行にカーソルを合わせ、それぞれ、鉛筆アイコンをクリックするか、ゴミ箱アイコンをクリックします。

SLO 監査イベント

SLO 監査イベントでは、イベントストリームを使用して SLO コンフィギュレーション履歴を追跡することができます。監査イベントは、SLO を作成、修正、または削除するたびにイベントストリームに追加されます。各イベントには SLO のコンフィギュレーション情報が含まれ、ストリームによりこれまでの SLO コンフィギュレーションの変更履歴が提供されます。

各イベントには、以下の SLO コンフィギュレーション情報が含まれます。

  • 名前
  • 説明
  • ターゲットパーセンテージおよび時間枠
  • データソース (モニター ID またはメトリクスクエリ)

イベントストリームに表示される 3 種類の SLO 監査イベント:

  1. SLO Created イベントには、作成時刻における SLO コンフィギュレーションのすべて (4 つ) の情報が表示されます。
  2. SLO Modified イベントには、更新中に変更されたコンフィギュレーション情報が表示されます。
  3. SLO Deleted イベントには、削除前に SLO が持っていたコンフィギュレーション情報のすべて (4 つ) が表示されます。

SLO 監査イベントの全リストを取得するには、イベントストリームに検索クエリ tags:audit,slo を入力します。特定の SLO に関する監査イベントのリストを表示するには、tags:audit,slo_id:<SLO ID> (対象とする SLO の ID を使用) を入力します。

また、Datadog イベント API を使って、プログラムでイベントストリームのクエリを作成することもできます。

注: UI にイベントが表示されない場合は、イベントストリームの時間枠を長くしてみてください(過去 7 日間など)。

SLO のコンフィギュレーションをプロアクティブに管理するには、特定のタグに対応するイベントが発生したときに通知するようイベントモニターを設定します。

たとえば、特定の SLO コンフィギュレーションが変更されたときに通知を受信するには、タグ audit,slo_id:<SLO ID> に対して [SLO Modified] テキストを追跡するようイベントモニターをセットします。

SLO ウィジェット

SLO を作成した後に、SLO サマリーダッシュボードウィジェットを使用して、SLO のステータスをダッシュボードメトリクス、ログ、APM データと合わせて表示することが可能です。SLO ウィジェットについて詳しくは、SLO ウィジェットのドキュメントページを参照してください。

SLO ステータスの修正

ステータス修正により、SLO がステータスおよびエラーバジェットの計算から除外する計画保守などの期間を指定できます。

SLO の修正ウィンドウを作成すると、指定した期間が SLO の計算から削除されます。

  • モニターベースの SLO の場合、修正ウィンドウの時間はカウントされません。
  • メトリクスベースの SLO の場合、修正ウィンドウ内のすべての良好イベントと不良イベントはカウントされません。

ステータス修正は、SLO ステータス修正 APITerraform、UI 経由の公開ベータ版です。

UI でのアクセス

UI で SLO ステータス修正にアクセスするには

  1. 新しい SLO を作成するか、既存の SLO をクリックします。
  2. SLO の詳細サイドパネルビューに移動します。
  3. 歯車アイコンの下で、Correct Status を選択して、Status Corrections 作成モーダルにアクセスします。
  4. Time Correction WindowCorrection Type を選択し、Notes を追加します。
  5. Apply Correction をクリックします。

既存のステータス修正を表示、編集、削除するには、SLO の詳細サイドパネルビューの上部にある Corrections タブをクリックします。

その他の参考資料