サービスレベル目標ウィジェット(ライト版)

サービスレベル目標(SLO) lite ウィジェットは、従来のSLIウィジェットの一種であり、アプリケーションエンティティ用のウィジェットのみがサポートされています。 Liteウィジェットの基盤となるインフラストラクチャは、従来のウィジェットとは互換性がありません。 SLOウィジェットとSLO Liteウィジェットの間には移行パスはありません。

注: 機能フラグ feature.slo.full.enabled が無効で、 feature.slo.lite.enabled が有効になっている場合、ウィジェット lite が利用可能です。 この機能は、セルフホスト型のClassic Editionでのみ利用可能です。

SLOウィジェット(ライト版)

Instana ユーザーは、SLO用にカスタムダッシュボードウィジェットを作成し、サービスのパフォーマンスの推移を表示・分析できるようになります。 このウィジェットでは、時間ベースまたはイベントベースのSLI構成を表示できます。

次の画像は、「 Robot Shop SLO」 と呼ばれるSLOウィジェットの例を示しています。これは、 時間ベースの SLI設定と、95%というSLO目標値を使用して構成されています。 この例のSLIは、レイテンシ指標の90パーセンタイルと、2秒という閾値に基づいています。 エラー許容度は、SLOの目標値から1を引いた値に、時間枠を乗じたものです。 ウィジェットに表示されている7日間の期間については、504分のエラー許容範囲に変換されます:

504 minutes = (1 - 95%) * 10080 minutes

選択された期間内に、例示されたSLOが達成されなかったのは、565分というエラー許容時間がその上限を超過したためである。

SLOウィジェット(ライト版)

SLOウィジェットの追加(ライト版)

アプリケーションのパースペクティブやWebサイトのいずれに対しても、SLOウィジェットを設定できます。 SLOレガシーウィジェットを追加するには、カスタムダッシュボードのいずれかに移動し、 ウィジェット追加ダイアログを開きます。 次に、以下の手順に従ってください:

  1. ダイアログのサイドバーで、 「SLO レガシー 」>「 次へ」 をクリックします。 このダイアログでは、SLOウィジェットを設定するための設定セクションが開きます。
  2. アプリケーション・パースペクティブ 」と「 Webサイト」 のどちらを監視するかを選択してください。
    • アプリケーションの観点に基づくSLOは、ユーザーのインターネット接続状態の悪さなど、制御の及ばない要因を除外しているため、ユーザー体験を正確に反映していない可能性があります。
    • ウェブサイトのSLOは、ユーザー体験を最も正確に反映しており、ユーザーのインターネット接続状態の悪さなど、管理者の制御が及ばない要因も考慮に入れています。
  3. リストから、SLOの対象となるアプリケーション・パースペクティブまたは Webサイトを選択してください。
  4. リストから、対象のSLOタイプに対応するサービスレベルインジケーター を選択してください。 以前に選択したSLOタイプに対応するSLIが存在しない場合は、 SLI構成の説明に従ってSLIを作成してください。
  5. 目的のSLO目標値を入力してください。例 99.9%
  6. ウィジェットのコンテキストと表示される時間枠を定義する「 時間枠タイプ 」を選択します:
    • 動的時間範囲: SLOは、グローバル時間ピッカーで選択された時間範囲に対して計算されます。
    • ローリング時間ウィンドウ: ウィンドウサイズが固定された時間ウィンドウで、その終了時点はグローバルな日時選択ツールの終了日時によって定義されます。 例えば、ローリング・タイム・ウィンドウ機能により、グローバルな時間選択ツールを調整することなく、常に先週のデータを確認することができます。
    • 固定時間間隔: 開始と期間が定義された時間枠。 例えば、から始まる1か月間の固定期間を設定 2020-01-01することができます。 その月の期間が終了すると、期間設定は自動的に翌月(2020-02-01)にリセットされます。
  7. ウィジェットのタイトルを入力します。
  8. プレビューでウィジェットを確認してください。 プレビューが表示されない場合は、 「不足している設定をハイライト表示」 をクリックして、不足している項目をすぐに確認してください。
  9. SLOウィジェットの設定を作成するには、 「作成」 をクリックします。
  10. カスタムダッシュボードにSLOウィジェットの設定を保存するには、 「変更を保存」 をクリックしてください。

SLI 構成

SLIの種類

SLOのタイプにかかわらず、構成には2種類のSLIタイプからいずれかを選択できます:

  • イベントベースの SLIは、事前に定義された正常イベントと異常イベントのグループを用いて、サービスの信頼性を測定します。 すべての呼び出しに同じ重みが付与されるため、実際のユーザー体験をより正確に反映します。 このため、エラー予算の管理は、イベントの数に依存するため、より困難になります。
  • 時間ベースの SLIは、分単位で集計されたサービスの信頼性を測定します。 エラー許容範囲が常に一定数の「不良分」で表されるため、管理は容易になりますが、トラフィックが少ない分では不良イベントの影響が大きくなるため、イベントベースのSLIよりも精度は低くなります。

UI を使用した SLI の管理

SLI構成を作成したり、既存のSLI構成を複製したりするには、SLOウィジェットの「SLIの管理」をクリックして、「 SLI管理 」ダイアログを開いてください。

SLI の管理

次に、以下の手順に従って、設定を最初から作成するか、既存の設定を複製して作成してください。

アプリケーションの観点からSLI構成を作成する

  1. 「SLI 管理」ダイアログで、 「SLI を作成 」をクリックします。
  2. 以下のように、SLI 構成の詳細を指定します。
    • 構成を一意的に識別するための、SLI 構成の名前を入力します。
  3. SLI構成の種類を選択してください。 時間ベースまたはイベントベースのいずれかを選択できます
  4. 「作成」をクリックして、新規 SLI 構成を保存します。

アプリケーション向けタイムベースSLI

「Time-based SLI」 の設定を以下のように完了してください:

  1. バウンダリー・スコープ (「インバウンド呼び出し」または「すべての呼び出し」) を選択します。
    • 着信 :アプリケーション外部から発信され、かつ宛先サービスが選択されたアプリケーション・パースペクティブの一部である通話のみを含めます。
    • すべての通話 :アプリケーション外部からの着信と、アプリケーションの内部で発生する通話の両方を含みます。
  2. アプリケーション内で特定のサービスを選択することも、デフォルトのまま All Services にしておいて、アプリケーション・パースペクティブ全体に適用することもできます。
  3. さらに特定のエンドポイントに絞り込みたい場合は、リストからエンドポイントを選択してください。 サービスの選択と同様に、デフォルト設定のままにして All Endpoints 、サービス全体に適用することもできます。
  4. サポートされているメトリクスの一覧から、SLI構成の評価対象とするメトリクスを選択してください。
    • 以下のメトリクスがサポートされています:
      • 待ち時間
      • 呼び出し数
      • エラー率
      • エラーのある呼び出し数
  5. 選択したメトリックの集約を選択します。
  6. 選択したメトリックのしきい値を入力します。

メトリックおよびしきい値を選択すると、SLI が以下のように計算されます。

SLI = (1 - #minutes_where_threshold_is_violated / #minutes_in_time_window) * 100%

次の画像は、アプリケーション向けに時間ベースのSLIを設定 k8s-demoする方法を示しています。 このアプリケーションの適用範囲は、 エンドポイント DELETE /cart/:id cartおよび Inbound Calls というサービスに限定されています。 評価対象のメトリクスは に設定され Latency推奨される集計方法は 90th percentileしきい値は です 25 ms

アプリケーション向け時間ベースのSLIの例

イベント・ベースの SLI

イベントベースのSLI構成では、Unbounded Analytics のクエリビルダーが持つ完全な柔軟性を活用し、正常なイベントと異常なイベントのサブセットを選択することができます。

  • 良好なイベント:特定のサービスの成功基準を示す一連の呼び出し。 たとえば、ステータスコードが 2XX. である、 HTTP サービスのすべての HTTP リクエスト。
  • 不良事象:特定のサービスの障害基準を示す一連のコール。 たとえば、ステータスコードが 5XX. である、 HTTP サービスのすべての HTTP リクエスト。

イベントベースのSLI について、以下の設定を行ってください:

  1. バウンダリー・スコープ (「インバウンド呼び出し」または「すべての呼び出し」) を選択します。
    • 着信 :アプリケーション外部から発信され、かつ宛先サービスが選択されたアプリケーション・パースペクティブの一部である通話のみを含めます。
    • すべての通話 :アプリケーション外部からの着信と、アプリケーションの内部で発生する通話の両方を含みます。
  2. (任意):内部コールまたは合成コールを含めることができます。 デフォルトでは、どちらの呼び出しも除外されます。
    • 内部呼び出し:サービス内部で行われる処理を表す、特定の種類の呼び出し。 これらの呼び出しは、カスタムトレースを通じて送信される中間スパンから作成できます。 内部呼び出しの詳細については、 「トレースの概念」 を参照してください。
    • 合成通話: 合成エンドポイントを宛先とする通話。例えば、エンド health-check ポイントへの通話など。

悪い出来事と良い出来事が定義されると、SLIは次のように算出されます:

SLI = #good_events / (#good_events + #bad_events) * 100%

この図は、境界スコープが. Inbound Callsに限定されているアプリケーションに対して、イベントベースのSLIがどのように構成されるかを示しています。 はステータスコードが good events 200の呼び出し、 bad events はステータスコードが500の呼び出しと定義されます。

イベントベースのSLIの例

この設定で生成されたウィジェットには、通話時間ではなく、通話のエラー許容範囲が表示されます。

既存のSLI構成の複製

計算済みの費やされたバジェットが無効にならないようにするために、SLI のパラメーターを変更することはできません。 したがって、パラメータを変更する際は、SLI構成を複製する必要があります。

  1. 「SLI 管理」ダイアログで、複製したい SLI 構成を選択し、その構成にある「 SLI 構成の表示/複製」 アイコンをクリックします。
  2. 以下の SLI 構成の詳細を編集します。
    • SLI構成の名前を変更し、その構成が既存の構成のクローンであることを明示してください。
  3. 必要に応じてSLIの設定を編集してください。
  4. 「複製」をクリックして、SLI 構成の複製を作成します。