2021 年の State of DevOps アンケートに回答して、ソフトウェア オペレーションの未来を形作り、ご自分の意見を伝えましょう。

SLO の作成

サービスをモニタリングするには、サービスレベル目標(SLO)が少なくとも 1 つ必要です。SLO は、サービスのパフォーマンス目標をカプセル化します。各 SLO は、サービスレベル指標(SLI)と呼ばれるパフォーマンス指標に基づいています。SLI と SLO の背景情報については、サービスのモニタリングにおけるコンセプトをご覧ください。

1 つのサービスに対して最大 500 個の SLO を作成できます。

概要

SLO を定義するには、次のいずれかの方法で [サービスレベル目標(SLO)の作成] ペインに移動します。

  • 新しいサービスの場合は、新しいサービスの作成後に表示される [SLO の作成] ボタンをクリックします。

  • 既存のサービスの場合は、以下の手順を行います。

    • [サービスの概要] ダッシュボードでサービスの名前をクリックします。
    • サービスのダッシュボードの [現在のステータス] ペインで [SLO を作成] をクリックします。

[SLO 作成] ペインから SLO 作成手順を進めます。このセクションの残りの部分では、SLO 作成プロセスの以下の各ステップについて説明します。

  1. SLI を設定する。
  2. SLI の詳細を定義する
  3. SLO を設定する。
  4. SLO を確認して保存する。

次のステップに進むには、[次へ] をクリックします。前のステップに戻るには、[戻る] をクリックします。SLO の作成プロセスを終了するには、 [閉じる] をクリックします。

SLI の設定

[SLI の設定] ペインには次のサブペインがあります。

  • サービスに関する識別情報を報告する [サービスの詳細]。これは、サービスのダッシュボードの [サービスの詳細] ペインと同じです。

  • モニタリングするパフォーマンスの指標を選択する [指標の選択]。

  • 指標の評価方法を選択する [リクエスト ベースまたは Windows ベースの選択]。

下のスクリーンショットは SLI ペインを示しています。

[SLI の設定] ペインで、パフォーマンス指標を選択します。

SLI で使用される指標と評価方法の詳細については、サービスレベル指標のコンセプトのトピックをご覧ください。

指標の選択

SLI 指標では、測定するパフォーマンスのタイプを指定します。SLI では、時間の経過に合わせた良好なパフォーマンスを測定するため、指標から比率を作成します。SLI には、次のオプションがあります。

  • 可用性。ユーザーがサービスをどの程度の割合で利用できるか。
  • レイテンシ。ユーザーに対するサービスの応答時間。
  • その他。特定の指標を使用することを示します。指標を指定し、[SLI の詳細を設定] ペインで SLI をビルドする方法を記述します。

有効な選択肢は、構成しているサービスの種類によって異なります。

  • Anthos Service Mesh、Google Kubernetes Engine 上の Istio、App Engine のサービスについては、どのオプションも選択できます。可用性とレイテンシの指標はすでにこれらのサービスでは知られていますが、[その他] を選択してカスタム SLI を使用することもできます。

  • カスタム サービスの場合、[その他] のみを選択できます。意味のある可用性やレイテンシの指標は、カスタム サービスでは事前に把握されていないため、カスタム SLI を定義する必要があります。

評価方法の選択

SLI の指標を選択した後、指標の評価方法を指定します。

  • リクエスト ベースの評価では、一定期間におけるリクエストの合計数に対する評価条件を満たすリクエストの数を測定します。

  • 時間枠ベースの評価では、評価対象期間全体に対して良好さの基準を満たす評価期間の数を測定します。

どちらの評価方法にも、[SLI の詳細を設定] ページで評価基準を指定します。

これらの評価タイプの詳細については、リクエスト ベース SLO およびウィンドウ ベースの SLO のコンプライアンスをご覧ください。

SLI の詳細の設定

[SLI の詳細を定義する] ペインの内容は、前のステップで選択した指標と評価方法によって異なります。

可用性の指標とリクエスト ベースの評価を選択した場合は、他に詳細情報は必要ありません。

時間枠ベースの評価

時間枠ベースの評価を選択した場合は、以下のペインで時間枠に関する追加基準として「良好さ」の基準と期間を設定します。

良好さの基準と評価期間を選択して、SLI 時間枠を設定します。

良好さの基準は、コンプライアンス期間中に「良好」と評価する必要がある時間枠の割合を示します。期間では、時間枠の長さを指定します。

レイテンシの指標

レイテンシの指標を選択した場合は、以下のペインで許容可能なパフォーマンスを判定するしきい値を指定します。

SLI のレイテンシのしきい値を設定します。

レイテンシのしきい値を超える値はすべて、SLI の評価時に「悪い」パフォーマンスと判定されます。

カスタム SLI

SLI 指標として [その他] を選択した場合は、このペインで使用する指標を指定します。指標を選択するには、[パフォーマンス指標] フィールドに入力するか、リストから 1 つを選択します。

リストの指標は以下の 2 つのタイプに分けられます。

  • 分布カット指標
  • 時系列の比率指標

以下のスクリーンショットは、部分的なリストを示します。

メニューの指標は、指標タイプごとに分類されます。

分布カット指標を選択した場合は、範囲(上、下、または両方)と、モニタリング対象リソースと含めたいラベルを指定するフィルタを指定して SLI を構成します。構成ペインは次のようになります。

分布カット指標の範囲とフィルタを設定します。

時系列の比率インジケーターを選択する場合は、通常は指標またはリソースタイプのラベルの値を選択することにより、分子フィルタと分母フィルタを作成して指標データを分類します。構成ペインは次のようになります。

時系列の比率の分子フィルタと分母フィルタを設定します。

これらの SLI タイプの詳細については、DistributionCutTimeSeriesRatio の Monitoring API リファレンス ページをご覧ください。

グラフのプレビュー

SLI を構成すると、[SLI の詳細を定義する] ペインに、このサービスの過去のパフォーマンスが SLI によりどのように測定されるかを示すプレビュー グラフが表示されます。例:

構成完了した SLI には、過去のデータに基づくグラフが表示されます。

サービスを作成またはデプロイを完了したばかりの場合は、まだデータがない可能性があります。SLI は引き続き作成できますが、過去の履歴は取得できません。

SLO の設定

[SLO の設定] ペインは、以下の部分で構成されます。

  • コンプライアンス期間。ここで、SLI を評価する期間を設定します。

  • パフォーマンス目標。ここで、コンプライアンス期間中のパフォーマンスのしきい値を指定します。

  • プレビュー。パフォーマンス目標のしきい値を示すグラフと、コンプライアンス期間中の SLI の評価結果を示すグラフが表示されます。

コンプライアンス期間とパフォーマンス目標を選択して、SLO を設定します。

コンプライアンス期間

メニューから、以下の 2 種類のコンプライアンス期間を選択できます。

  • カレンダー期間
  • ローリング ウィンドウ

カレンダー期間は、一定期間におけるコンプライアンスを測定します。この期間が終了すると、エラー バジェットがリセットされ、新しいコンプライアンス期間が開始されます。

ローリング ウィンドウとは、スライド期間のことです。長さもありますが、コンプライアンスは過去 n 日間にわたって計算されます。新しい日が始まると、過去 n 日間のコンプライアンスと残りのエラー バジェットが再計算されます。

カレンダー期間とローリング ウィンドウ コンプライアンス期間の詳細については、コンプライアンス期間をご覧ください。

グラフのプレビュー

SLO の構成が完了すると、[SLO の設定] ペインに、このサービスの過去のパフォーマンスが SLO でどのように測定されるかを説明するプレビュー グラフが表示されます。例:

構成完了した SLO には、過去のデータに基づくグラフが表示されます。

サービスを作成またはデプロイを完了したばかりの場合は、まだデータがない可能性があります。SLO は引き続き作成できますが、過去の履歴は取得できません。

SLO の保存

[確認と保存] ペインには、SLO の表示名という 1 つのフィールドがあります。このフィールドには、SLO を定義する際に行った選択内容に基づくデフォルト値が使用されますが、値を変更することで表示名をよりわかりやすく変更できます。

ペインには、SLO のプレビューが JSON 形式で表示されます。SLO は JSON ブロックにまとめられます。これは、serviceLevelObjectives.create メソッドで使用する際にコピーできます。SLO 値のいずれかを変更すると、JSON プレビューが自動的に更新されます。

以下のスクリーンショットは、デフォルトの名前を持つフィールドを示しています。

Monitoring は、SLO のデフォルト名を生成します。

表示名に問題がなければ、[送信] をクリックします。

SLO を作成したら、アラート ポリシーを作成して SLO をモニタリングできます。詳細については、バーンレートに関する警告アラート ポリシーの作成をご覧ください。