Service Mesh (ASM) では、ServiceLevelObjective カスタムリソース定義 (CRD) を使用して、サービスレベル目標 (SLO) とアラートルールを宣言的に定義できます。
以下のフィールドリファレンスの階層は次のとおりです: metadata > spec > slos[] > sli / alerting。
YAML の例
次のマニフェストは、default 名前空間の httpbin Service に対する可用性 SLO を定義しています。目標は 99.9% で、SLO は 30 日間にわたって有効となり、ページレベルとチケットレベルの両方のアラートが設定されています。
次の表は、主要なフィールドをまとめたものです。フィールドの詳細については、「CRD フィールドリファレンス」をご参照ください。
|
フィールド |
説明 |
|
|
カスタムリソースの名前空間。ターゲット Service の名前空間と一致する必要があります。 |
|
|
ターゲット Service 名。 |
|
|
SLO の有効期間。有効な値: |
|
|
文字列形式の目標パーセンテージ。有効な範囲: (0, 100]。 |
|
|
SLI のタイプとオプションを定義します。 |
CRD フィールドリファレンス
metadata フィールド
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
カスタムリソースの名前です。形式: |
|
|
|
文字列 |
はい |
カスタムリソースの名前空間です。ターゲットサービスの名前空間と一致する必要があります。 |
|
|
|
オブジェクト |
いいえ |
バックエンドによって自動入力されるため、手動で設定しないでください。システムは、 |
|
spec のフィールド
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
ターゲットサービス名です。 |
|
|
|
文字列 |
はい |
SLO の有効期間です。有効な値: |
|
|
|
オブジェクト |
いいえ |
グローバル label です。この CRD の SLO によって生成されるすべての記録ルールの |
|
|
|
配列 |
はい |
1 つ以上の SLO 定義です。少なくとも 1 つのエントリが必要です。 |
- |
slos[] のフィールド
slos 配列の各エントリで、目標、SLI 設定、およびアラートルールを持つ単一の SLO を定義します。
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
SLO 名。 |
|
|
|
文字列 |
はい |
浮動小数点数として解析可能な文字列で指定する目標パーセンテージ。有効範囲: (0, 100] |
|
|
|
オブジェクト |
いいえ |
SLO レベルの label。この SLO によって生成されるすべての記録ルールの |
|
|
|
オブジェクト |
はい |
SLI 設定。詳細については、「 |
- |
|
|
オブジェクト |
はい |
アラート設定。詳細については、「 |
- |
sli のフィールド
sli オブジェクトには、単一のフィールド plugin が含まれます。
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
オブジェクト |
はい |
サービスレベル指標 (SLI) の測定方法を定義するプラグイン設定。詳細については、「plugin のフィールド」をご参照ください。 |
- |
プラグインフィールド
プラグインは SLI の測定タイプを決定します。 id を設定してプラグインを選択し、対応する options を構成します。
|
フィールド |
型 |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
プラグインのタイプです。有効な値: |
|
|
|
Map |
条件付き |
プラグインのオプションです。選択したプラグインに必須フィールドがある場合に必須です。たとえば、 |
|
availability のオプション
id を availability に設定した場合、次のオプションを使用できます:
|
フィールド |
型 |
必須 |
説明 |
例 |
|
|
文字列 |
いいえ |
PromQL ラベルフィルターです。 Prometheus は、このフィルターに一致するリクエストのみのメトリクスを計算します。 |
|
latency のオプション
id を latency に設定した場合、次のオプションを使用できます:
|
フィールド |
型 |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
レイテンシーの目標値を、整数として解析できる文字列で指定します。 |
|
|
|
文字列 |
いいえ |
PromQL ラベルフィルターです。 Prometheus は、このフィルターに一致するリクエストのみのメトリクスを計算します。 |
|
|
|
ブール値 |
いいえ |
レイテンシーの計算からエラーリクエストを除外するかどうかを指定します。デフォルト: |
|
alerting のフィールド
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
文字列 |
はい |
アラートルールの名前。 |
|
|
|
マップ |
いいえ |
アラートルールに添付するラベル。 |
|
|
|
マップ |
いいえ |
アラートルールに添付するアノテーション。 |
|
|
|
オブジェクト |
いいえ |
ページレベルの高重大度のアラート設定。詳細については、 |
- |
|
|
オブジェクト |
いいえ |
チケットレベルの低重大度のアラート設定。詳細については、 |
- |
pageAlert フィールド
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
ブール値 |
いいえ |
このアラートを無効にするかどうかを指定します。デフォルト値は |
|
|
|
マップ |
いいえ |
このアラートに付加するラベル。 |
|
|
|
マップ |
いいえ |
このアラートに付加するアノテーション。 |
|
ticketAlert フィールド
|
フィールド |
タイプ |
必須 |
説明 |
例 |
|
|
ブール値 |
いいえ |
このアラートを無効にするには |
|
|
|
マップ |
いいえ |
このアラートに添付する |
|
|
|
マップ |
いいえ |
このアラートに添付する |
|