- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
サービスレベル目標 (SLO) は、サイト信頼性エンジニアリングツールキットの重要な要素です。SLO を使用し、アプリケーションのパフォーマンスに明確なターゲットを定義するためのフレームワークを整えることで、一貫したカスタマーエクスペリエンを提供したり、プラットフォームの安定性を保ちつつ機能を開発したり、内部および外部ユーザーとのコミュニケーションを改善するために役立てることができます。
Datadog のサービスレベル目標ステータスページを使用して、新しい SLO を作成したり、既存の SLO を表示して管理します。また、SLO ウィジェットをダッシュボードに追加すると、SLO のステータスを一目で確認できます。
SLO を設定したら、サービスレベル目標リストビューから SLO を選択して、詳細サイドパネルを開きます。サイドパネルには、SLO の各ターゲットの全体的なステータスのパーセンテージと残りのエラーバジェット、および SLI の履歴のステータスバー (モニターベースの SLO) または棒グラフ (メトリクスベースの SLO) が表示されます。1 つのマルチアラートモニターを使用してグループ化されたモニターベースの SLO を作成した場合、または sum by
句を使用してグループ化されたメトリクスベースの SLO を作成した場合、全体的なステータスのパーセンテージと残りのエラーバジェットに加えて、個々のグループのステータスのパーセンテージと残りのエラーバジェットが表示されます。
例: アベイラビリティーゾーンごとにレイテンシを追跡するためにモニターベースの SLO 作成すると、全体的な SLO と SLO が追跡している個々のアベイラビリティーゾーンのステータス割合とエラーバジェットの残量が表示されます。
注: エラーバジェットの残りはパーセンテージで表示され、次の式で計算されます。
$$\text"エラーバジェットの残り" = 100 * {\text"現在のステータス" - \text" ターゲット"} / { 100 - \text"ターゲット"}$$
エラーバジェットとエラーバジェットアラートの利点を活用するには、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 の作成、編集、削除は、slos_write
権限を持つロールにアタッチされたユーザーのみが行えます。
ステータス修正を作成、編集、および削除するには、ユーザーは slos_corrections
権限を必要とします。この権限を持つユーザーは、それらの SLO を編集する権限を持っていなくても、ステータスの修正を行うことができます。権限の完全なリストについては、RBAC ドキュメントを参照してください。
編集を許可するロールのリストを指定することで、個々の SLO へのアクセスを制限します。
SLO への編集アクセス権を維持するために、システムは保存する前に、自分がメンバーであるロールを少なくとも 1 つ含めることを要求します。アクセス制御リストのユーザーは、ロールを追加することができ、自分以外のロールを削除することのみが可能です。
注: ユーザーは、モニターへの書き込み権限がなくても、任意のモニターに SLO を作成することができます。同様に、ユーザーは SLO への書き込み権限がなくても、SLO アラートを作成することができます。モニターの RBAC 権限の詳細については、RBAC ドキュメントまたはモニターの RBAC の設定方法に関するガイドを参照してください。
サービスレベル目標ステータスページでは、すべての SLO に対し高度な検索を実行して、検索結果から SLO を検索、表示、編集、複製、削除できます。
高度な検索を使用し、SLO の属性をどれでも組み合わせて SLO をクエリできます。
name
および description
- テキスト検索time window
- 7日、30日、90日type
- メトリクス、モニターcreator
tags
- datacenter、env、service、team, など。検索を実行するには、左側のファセットチェックボックスと上部の検索バーを使用します。ボックスをチェックすると、それに合わせて検索バーのクエリが更新されます。同様に、検索バーのクエリを変更 (あるいは新規入力) すると、ボックスのチェックが更新されます。クエリ結果はクエリの変更に合わせてリアルタイムで更新されます。‘検索’ボタンはありません。
SLOをチーム、サービス、環境でグループ化し、データのサマリービューを得ることができます。各状態 (違反、警告、OK、データなし) にある SLO の数を、コンテキストごとにグループ化して素早く分析することができます。
ステータスとエラー予算の列で SLO を並べ替え、注意が必要な SLO に優先順位をつけることができます。SLO リストには、構成で選択した主要なタイムウィンドウの SLO の詳細が表示されます。その他の構成タイムウィンドウはすべて、個別のサイドパネルで表示できます。それぞれのテーブル行をクリックして、SLO 詳細サイドパネルを開きます。
注: Apple App Store および Google Play Store で入手できる Datadog モバイルアプリをダウンロードすれば、モバイルデバイスのホーム画面から SLO を表示することが可能です。
SLO の作成時や変更時に、SLO ステータスページでフィルタリングに必要なタグやSLO の保存済みビューの作成に必要なタグを追加することができます。
SLO リストの上部にある Edit Tags と Edit Teams ドロップダウンオプションを使用して、SLO にタグを一括して追加します。
SLO のリストビューに移動すると、デフォルトの SLO ビューが読み込まれます。
デフォルトビューには以下が含まれます。
以下を共有することで、チームに最も関連性の高い SLO についてカスタマイズした検索を保存ビューの SLO リストビューに保存し共有することができます。
リストビューで SLO のサブセットを問い合わせると、そのクエリを保存ビューとして追加できるようになります。
保存ビューを追加するには、
保存済みビューを読み込むには、ページ左上の Show Views ボタンを押して Saved Views パネルを開き、リストから保存済みビューを選択します。保存済みビューは、同じ Saved Views パネルの上部にある Filter Saved Views 検索ボックスで検索することもできます。
リストから保存済みビューにカーソルを合わせハイパーリンクを選択し、保存済みビューにリンクをコピーすれば、チームメイトと共有できます。
使用済みビューは一旦使用すると、その保存済みビューを選択し、クエリを変更し、Saved Viewsパネルのその名前の下にある Update ボタンをクリックすることで、更新することができます。保存済みビューの名前を変更したり、保存済みビューを削除するには、Saved Views パネルでその行にカーソルを合わせ、それぞれ、鉛筆アイコンをクリックするか、ゴミ箱アイコンをクリックします。
SLO 監査イベントでは、イベントエクスプローラーを使用して SLO コンフィギュレーション履歴を追跡することができます。監査イベントは、SLO を作成、修正、または削除するたびにイベントエクスプローラーに追加されます。各イベントには SLO のコンフィギュレーション情報が含まれ、ストリームによりこれまでの SLO コンフィギュレーションの変更履歴が提供されます。
各イベントには、以下の SLO コンフィギュレーション情報が含まれます。
イベントエクスプローラーに表示される 3 種類の SLO 監査イベント:
SLO Created
イベントには、作成時刻における SLO コンフィギュレーションのすべて (4 つ) の情報が表示されます。SLO Modified
イベントには、更新中に変更されたコンフィギュレーション情報が表示されます。SLO Deleted
イベントには、削除前に SLO が持っていたコンフィギュレーション情報のすべて (4 つ) が表示されます。SLO 監査イベントの全リストを取得するには、イベントエクスプローラーに検索クエリ tags:audit,slo
を入力します。特定の SLO に関する監査イベントのリストを表示するには、tags:audit,slo_id:<SLO ID>
(対象とする SLO の ID を使用) を入力します。
また、Datadog イベント API を使って、プログラムでイベントエクスプローラーのクエリを作成することもできます。
注: UI にイベントが表示されない場合は、イベントエクスプローラーの時間枠を長くしてみてください(過去 7 日間など)。
たとえば、特定の SLO コンフィギュレーションが変更されたときに通知を受信するには、タグ audit,slo_id:<SLO ID>
に対して [SLO Modified]
テキストを追跡するようイベントモニターをセットします。
SLO を作成した後は、ダッシュボードやウィジェットを使ってデータを可視化することができます。
SLO ウィジェットの詳細については、SLO Summary および SLO List ウィジェットページをご覧ください。SLO データソースの詳細については、ダッシュボードで過去の SLO データをグラフ化する方法に関するガイドを参照してください。
SLO のコンフィギュレーションをプロアクティブに管理するには、特定のタグに対応するイベントが発生したときに通知するようイベントモニターを設定します。
ステータス修正により、SLO ステータスとエラーバジェットの計算から特定の期間を除外することができます。こうすることで、以下のことが可能になります。
修正を適用すると、指定した期間が SLO の計算から外れます。
臨機応変に対応するための 1 回限りの修正と、定期的に発生する予測可能な修正を作成するオプションがあります。1 回限りの修正には開始時刻と終了時刻が必要であり、定期的な修正には開始時刻、期間、間隔が必要です。定期的な修正は、iCalendar RFC 5545 の RRULE 仕様に基づいています。サポートされているルールは FREQ
、INTERVAL
、COUNT
および UNTIL
です。定期的な修正の終了日の指定は、修正を無期限に繰り返す必要がある場合にオプションで指定できます。
どちらのタイプの修正でも、修正を行う理由を示す修正カテゴリーを選択する必要があります。選択可能なカテゴリーは、Scheduled Maintenance
(定期メンテナンス)、Outside Business Hours
(営業時間外)、Deployment
(デプロイ)、Other
(その他)です。必要であれば、説明文を追加することができます。
各 SLO には、クエリのパフォーマンスを確保するために構成可能な修正数の上限が設定されています。これらの制限は、SLO ごとに過去 90 日間にのみ適用されるため、過去 90 日間より前の期間の修正 は、制限に含まれません。つまり、以下の通りです。
SLO ごとの 90 日制限は、以下の通りです。
修正タイプ | SLO ごとの制限 |
---|---|
1 回限り | 100 |
毎日繰り返し | 2 |
毎週繰り返し | 3 |
毎月繰り返し | 5 |
SLO のサイドパネルで Correct Status
を選択するか、SLO ステータス修正 API または Terraform リソースを使用して、UI からステータス修正を構成することができます。
UI で SLO ステータス修正にアクセスするには
One-Time
と Recurring
のいずれかを選択し、修正したい期間を指定します。既存のステータス修正を表示、編集、削除するには、SLO の詳細サイドパネルビューの上部にある Corrections タブをクリックします。