Prometheus アラートルールテンプレートを使用すると、リージョンが異なる複数の Prometheus インスタンスのアラートルールを集中管理できます。このトピックでは、Prometheus アラートルールテンプレートを作成および管理して、ルールの一貫性と効率を確保する方法について説明します。
背景情報
複数リージョンにまたがる Prometheus インスタンスが複数ある場合、Prometheus インスタンスごとにアラートルールを個別に作成すると、手間がかかるだけでなく、各 Prometheus インスタンスのルールを同期して管理することが困難になります。この問題を解決するために、Managed Service for Prometheus はアラートルールテンプレート機能を提供します。この機能を使用すると、複数の Prometheus インスタンスのアラートルールを迅速に作成し、一元的に管理できるため、複数の Prometheus インスタンスにまたがるアラートルールの管理コストを削減できます。
Prometheus アラートルールテンプレートの作成
にログインします。 ARMSコンソールを使用します。
-
左側のナビゲーションペインで、 を選択します。
-
ページの右上隅にある Prometheus アラートルールテンプレートの作成 をクリックします。
-
Prometheus アラートルールの作成 ページで、次のパラメーターを設定します。
静的しきい値またはカスタム PromQL を使用して、Prometheus アラートルールテンプレートを作成できます。
-
静的しきい値チェックタイプでは、事前設定されたアラートメトリクスが提供されています。事前設定されたメトリクスを選択して、アラートルールを迅速に作成できます。
-
事前設定されていないメトリクスを監視するには、カスタム PromQL チェックタイプを使用してアラートルールを作成します。
表 1. 静的しきい値チェックタイプ
パラメーター
説明
例
アラートルールテンプレート名
アラートルールテンプレートの名前。
本番クラスター - コンテナ CPU 使用率アラート
アラートルールテンプレートの説明
任意。テンプレートの説明を記述します。目的、適用シナリオ、その他の注意事項などを含めることができます。
なし
チェックタイプ
静的しきい値を選択します。
静的しきい値
アラートグループ
アラートグループを選択します。
Kubernetes Workloads
アラートメトリクス
アラートを設定するメトリクスを選択します。アラートグループごとにメトリクスが異なります。
Container CPU utilization
アラート条件
アラートメトリクスの事前設定された内容に基づいて、アラートイベントをトリガーする条件を設定します。
コンテナの CPU 使用率が
より大きい80% である場合、アラート条件が満たされます。フィルター条件
アラートメトリクスに基づいて、アラートルールの範囲を設定します。フィルター条件とアラート条件の両方を満たすリソースでアラートイベントがトリガーされます。
利用可能なフィルター条件は次のとおりです。
-
[トラバーサル]: アラート ルールは、現在の Prometheus インスタンス内のすべてのリソースに適用されます。デフォルトでは、フィルター条件は「走査」に設定されています。
-
[に等しい]:この条件を選択した後、特定のリソース名を入力します。アラートルールはそのリソースにのみ適用されます。複数のリソースを入力することはできません。
-
[Is not equal]:この条件を選択した後、特定のリソース名を入力します。アラートルールは、そのリソースを除くすべてのリソースに適用されます。複数のリソースを入力することはできません。
-
[正規表現一致]:この条件を選択した後、リソース名を照合するための正規表現を入力します。アラートルールは、その式に一致するすべてのリソースに適用されます。
-
[正規表現にマッチしない]:この条件を選択した後、リソース名を照合するための正規表現を入力します。アラートルールは、その式に一致するすべてのリソースを除外します。
Instance IP:走査
期間
-
アラート条件が満たされるとすぐにアラートイベントをトリガー:いずれかのデータポイントがしきい値を満たすとアラートイベントがトリガーされます。
-
アラート条件が N 分間持続した場合にのみアラートイベントをトリガー:しきい値が N 分以上満たされた場合にのみアラートイベントがトリガーされます。
1
アラートの重要度
アラートの重要度。デフォルトは [Default] です。重要度のレベルは、低いものから順に Default、P4、P3、P2、P1 です。
Default
アラート内容
ユーザーが受信するアラート情報。Go テンプレート構文を使用して、アラート内容のアラートパラメーター変数をカスタマイズできます。
名前空間: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / コンテナ: {{$labels.container}} の CPU 使用率が {{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%、現在の値 {{ printf "%.2f" $value }}%
詳細設定
ラベル
アラートラベルを設定します。ラベルは、通知ポリシーの照合ルールオプションとして使用できます。
なし
アノテーション
アラートのアノテーションを設定します。
なし
表 2. カスタム PromQL チェックタイプ
パラメーター
説明
例
アラートルールテンプレート名
アラートルールテンプレートの名前。
Pod のファイルシステム使用率が 90% を超えています
アラートルールテンプレートの説明
任意。テンプレートの説明を記述します。目的、適用シナリオ、その他の注意事項などを含めることができます。
なし
チェックタイプ
カスタム 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] です。重要度のレベルは、低いものから順に Default、P4、P3、P2、P1 です。
Default
アラート内容
ユーザーが受信するアラート情報。Go テンプレート構文を使用して、アラート内容のアラートパラメーター変数をカスタマイズできます。
名前空間: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/ディスクデバイス: {{$labels.device}} の使用率が 90% を超えました、現在の値 {{ 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 アラートルールテンプレート ページで、対象のアラートルールテンプレートの右側にある [View Rules Created From Template] をクリックします。
-
テンプレートから作成されたアラートルール ページで、アラートルールを一括管理できます。
-
アラートルールを一括で有効にするには:目的のアラートルールを選択し、アラートを一括起動する をクリックします。
-
アラートルールを一括で無効にするには:目的のアラートルールを選択し、アラートを一括停止する をクリックします。
-
アラートルールを一括で削除するには:目的のアラートルールを選択し、アラートを一括削除する をクリックします。
-
注意事項
Prometheus アラートルールテンプレートから作成された Prometheus アラートルールを編集して保存する場合、テンプレートとルールの間のマッピングを保持するかどうかを選択する必要があります。
-
[このアラートルールとアラートルールテンプレートのマッピング関係を保持する]: このマッピングを保持すると、このルール用の Prometheus インスタンスに対応するアラートルールテンプレートを適用して強制更新オプションを選択した場合、現在の編集内容が上書きされる可能性があります。
-
[このアラートルールとアラートルールテンプレートのマッピング関係を解除する]: マッピングを解除すると、このアラートルールは独立したルールとして扱われます。アラートルール名を変更することをお勧めします。そうしないと、対応するアラートルールテンプレートをPrometheus インスタンスに再度適用すると、アラートルール名が重複しているため作成に失敗します。