Prometheus アラートルールテンプレートを使用すると、異なるリージョンにある複数の Prometheus インスタンスのアラートルールを一元管理できます。このトピックでは、ルールの一貫性と効率性を確保するために、Prometheus アラートルールテンプレートを作成および管理する方法について説明します。
背景情報
複数のクロスリージョン Prometheus インスタンスがある場合、各 Prometheus インスタンスのアラートルールを個別に作成するのは手間がかかり、各 Prometheus インスタンスのルールを同期して管理することが困難になります。この問題を解決するため、Managed Service for Prometheus はアラートルールテンプレート機能を提供しています。この機能を使用すると、複数の Prometheus インスタンスのアラートルールを迅速に作成し、一元的に管理できるため、複数の Prometheus インスタンスにまたがるアラートルールの管理コストを削減できます。
Prometheus アラートルールテンプレートの作成
ARMS コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
ページの右上隅にある Prometheus アラートルールテンプレートの作成 をクリックします。
-
Prometheus アラートルールの作成 ページで、次のパラメーターを設定します。
Prometheus アラートルールテンプレートは、静的しきい値またはカスタム PromQL を使用して作成できます。
-
静的しきい値チェックタイプは、プリセットのアラートメトリクスを提供します。プリセットメトリクスを選択して、アラートルールを迅速に作成できます。
-
プリセットされていないメトリクスをモニターするには、カスタム PromQL チェックタイプを使用してアラートルールを作成できます。
表 1. 静的しきい値のチェックタイプ
パラメーター
説明
例
アラートルールテンプレート名
アラートルールテンプレートの名前。
本番クラスター - コンテナ CPU 使用率アラート
アラートルールテンプレートの説明
任意。テンプレートの説明を入力します。目的、適用シナリオ、その他の注意事項を含めることができます。
なし
チェックタイプ
[静的しきい値] を選択します。
静的しきい値
アラートグループ
アラートグループを選択します。
Kubernetes ワークロード
アラートメトリクス
アラートを設定するメトリクスを選択します。各アラートグループには異なるメトリクスがあります。
コンテナ CPU 使用率
アラート条件
アラートメトリクスのプリセット内容に基づいて、アラートイベントをトリガーする条件を設定します。
コンテナの CPU 使用率が
次より大きい80% の場合にアラート条件が満たされます。フィルター条件
アラートメトリクスに基づいて、アラートルールの範囲を設定します。フィルター条件とアラート条件の両方を満たすリソースに対してアラートイベントがトリガーされます。
利用可能なフィルター条件は次のとおりです:
-
トラバーサル:アラートルールは現在の Prometheus インスタンス内のすべてのリソースに適用されます。デフォルトでは、フィルター条件はトラバーサルに設定されています。
-
に等しい:この条件を選択した後、特定のリソース名を入力します。アラートルールはそのリソースにのみ適用されます。複数のリソースを入力することはできません。
-
Is not equal:この条件を選択した後、特定のリソース名を入力します。アラートルールはそのリソースを除くすべてのリソースに適用されます。複数のリソースを入力することはできません。
-
正規表現一致:この条件を選択した後、リソース名に一致する正規表現を入力します。アラートルールは、その式に一致するすべてのリソースに適用されます。
-
正規表現にマッチしない:この条件を選択した後、リソース名に一致する正規表現を入力します。アラートルールは、その式に一致するすべてのリソースを除外します。
インスタンス IP:トラバーサル
期間
-
アラート条件が満たされるとすぐにアラートイベントをトリガーする:いずれかのデータポイントがしきい値を満たすと、アラートイベントがトリガーされます。
-
アラート条件が N 分間継続した場合にのみアラートイベントをトリガーする:しきい値が N 分以上満たされた場合にのみ、アラートイベントがトリガーされます。
1
アラートレベル
アラートのレベル。デフォルトのレベルは Default です。レベルは、低いものから順に、デフォルト、P4、P3、P2、P1 です。
デフォルト
アラート内容
ユーザーが受け取るアラート情報。Go テンプレート構文を使用して、アラート内容のアラートパラメーター変数をカスタマイズできます。
Namespace: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / Container: {{$labels.container}} CPU utilization {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%, current value {{ printf "%.2f" $value }}%
詳細設定
ラベル
アラートラベルを設定します。ラベルは、通知ポリシーのマッチングルールのオプションとして使用できます。
なし
アノテーション
アラートのアノテーションを設定します。
なし
表 2. カスタム PromQL のチェックタイプ
パラメーター
説明
例
アラートルールテンプレート名
アラートルールテンプレートの名前。
Pod の CPU 使用率が 80% を超える
アラートルールテンプレートの説明
任意。テンプレートの説明を入力します。目的、適用シナリオ、その他の注意事項を含めることができます。
なし
チェックタイプ
[カスタム PromQL] に設定します。
カスタム PromQL
カスタム PromQL 文
PromQL 文を使用してアラートルールの式を設定します。
max(container_fs_usage_bytes{pod!="", namespace!="arms-prom",namespace!="monitoring"}) by (pod_name, namespace, device)/max(container_fs_limit_bytes{pod!=""}) by (pod_name,namespace, device) * 100 > 90
期間
-
アラート条件が満たされるとすぐにアラートイベントをトリガーする:いずれかのデータポイントがしきい値を満たすと、アラートイベントがトリガーされます。
-
アラート条件が N 分間継続した場合にのみアラートイベントをトリガーする:しきい値が N 分以上満たされた場合にのみ、アラートイベントがトリガーされます。
1
アラートレベル
アラートのレベル。デフォルトのレベルは Default です。レベルは、低いものから順に、デフォルト、P4、P3、P2、P1 です。
デフォルト
アラート内容
ユーザーが受け取るアラート情報。Go テンプレート構文を使用して、アラート内容のアラートパラメーター変数をカスタマイズできます。
Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} utilization exceeds 90%, current value {{ printf "%.2f" $value }}%
詳細設定
ラベル
アラートラベルを設定します。ラベルは、通知ポリシーのマッチングルールのオプションとして使用できます。
なし
アノテーション
アラートのアノテーションを設定します。
なし
-
アプリケーションテンプレート
作成した Prometheus アラートテンプレートを適用して、Prometheus インスタンスのアラートルールを作成できます。また、テンプレートを使用して、Prometheus インスタンスの既存のアラートルールを更新することもできます。
-
Prometheus アラートルールテンプレート ページで、適用したいテンプレートの テンプレートを適用する をクリックします。
-
テンプレートを適用する ページの Prometheus インスタンス選択モード タブで、Prometheus インスタンスを選択し、OK をクリックします。
説明このアラートテンプレートに関連付けられている Prometheus インスタンスを、Prometheus インスタンス名、リージョン、および Prometheus インスタンスタイプでフィルターできます。
-
表示されたダイアログボックスで、既存のアラートルールを更新するかどうかを選択し、OK をクリックします。
-
[既存のアラートルールを更新] を選択しない場合:選択した Prometheus インスタンスに現在のアラートテンプレートから作成されたアラートルールが既に存在する場合、[このテンプレートを使用してアラートルールはすでに作成されており、更新されません] というメッセージが表示されます。既存のアラートルールは更新されません。
-
[既存のアラートルールを更新]:選択した Prometheus インスタンスに現在のアラートテンプレートから作成されたアラートルールが既に含まれている場合、Prometheus アラートルールはアラートテンプレートの最新の内容に更新されます。
重要テンプレートとのマッピングを保持したままアラートルールを個別に編集した場合、その編集内容は上書きされ失われます。
-
テンプレートの削除
Prometheus アラートテンプレートが不要になった場合は、その Prometheus アラートテンプレートを削除できます。テンプレートを削除する際に、そこから作成されたアラートルールを保持するかどうかを指定できます。
-
Prometheus アラートルールテンプレート ページで、対象のアラートルールテンプレートの右側にある 削除 をクリックします。
-
表示されたダイアログボックスで、テンプレートから作成されたアラートルールも削除するかどうかを選択し、Confirm をクリックします。
-
テンプレートから作成されたアラートルールも削除されます を選択する:テンプレートに関連付けられている Prometheus アラートルールが削除されます。テンプレートから作成された Prometheus アラートルールが手動で編集され、保存時に [テンプレートとルールの間のマッピングを保持しない] を選択した場合、そのルールは削除されません。
-
テンプレートから作成されたアラートルールも削除されます を選択しない場合、テンプレートから作成された Prometheus アラートルールは保持されます。
-
テンプレートから作成されたアラートルールの表示
テンプレートから作成されたアラートルールを一括で表示および管理できます。
-
Prometheus アラートルールテンプレート ページで、対象のアラートルールテンプレートの右側にある [テンプレートから作成されたルールを表示] をクリックします。
-
テンプレートから作成されたアラートルール ページで、アラートルールを一括管理できます。
-
アラートを一括で有効にするには:目的のアラートルールを選択し、アラートを一括起動する をクリックします。
-
アラートを一括で無効にするには:目的のアラートルールを選択し、アラートを一括停止する をクリックします。
-
アラートを一括で削除するには:目的のアラートルールを選択し、アラートを一括削除する をクリックします。
-
注意事項
Prometheus アラートルールテンプレートから作成された Prometheus アラートルールを編集して保存する際には、テンプレートとルールの間のマッピングを保持するかどうかを選択する必要があります。
-
このアラートルールとアラートルールテンプレートのマッピング関係を保持する:このマッピングを保持する場合、このルールに対応するアラートルールテンプレートを Prometheus インスタンスに適用し、強制更新オプションを選択すると、現在の編集内容が上書きされる可能性があります。
-
このアラートルールとアラートルールテンプレートのマッピング関係を解除する:マッピングが無効になると、このアラートルールは独立したルールとして扱われます。アラートルール名を変更することを推奨します。変更しない場合、対応するアラートルールテンプレートを再度 Prometheus インスタンスに適用すると、アラートルール名が重複するため作成に失敗します。