異なるリージョンの複数のPrometheusインスタンスのアラートルールを管理するには、Alibaba Cloud Managed Service for Prometheusのアラートルールテンプレート機能を使用できます。このトピックでは、アラートルールの一貫性と効率性を確保するために、アラートルールテンプレートを作成および管理する方法について説明します。
背景情報
リージョン全体で複数のPrometheusインスタンスに対して個別にアラートルールを作成する場合、作業負荷が大きくなり、アラートルールを一元管理することが困難になります。Managed Service for Prometheusは、複数Prometheusインスタンスのアラートルールを作成し、一元管理するのに役立つアラートルールテンプレート機能を提供します。これにより、複数のPrometheusインスタンスのアラートルールを管理するコストを削減できます。
アラートルールテンプレートの作成
Managed Service for Prometheusコンソールにログインします。
左側のナビゲーションペインで、アラートルールテンプレートをクリックします。
Prometheusアラートルールテンプレートページで、Prometheusアラートルールテンプレートの作成をクリックします。
Prometheusアラートルールテンプレートの作成ページで、以下のパラメータを設定します。
アラートルールテンプレートを作成する際に、チェックタイプパラメータを静的しきい値またはカスタムPromQLに設定できます。
チェックタイプを静的しきい値に設定すると、定義済みのアラートメトリックを選択し、そのメトリックのアラートルールを作成できます。
システムによって定義済みのメトリック以外を監視するには、カスタムPromQLステートメントを指定してアラートルールを作成できます。
表1. 定義済みメトリックの使用
パラメータ
説明
例
テンプレート名
アラートルールテンプレートの名前を入力します。
本番クラスタ - コンテナCPU使用率アラート
テンプレートの説明
オプション。テンプレートについて説明します。テンプレートの目的、シナリオ、または備考を入力できます。
なし
チェックタイプ
静的しきい値を選択します。
静的しきい値
アラート連絡先グループ
アラート連絡先グループを選択します。
Kubernetes負荷
アラートメトリック
メトリックを選択します。アラート連絡先グループごとに異なるメトリックが提供されます。
コンテナCPU使用率
アラート条件
アラートイベントが生成される条件を指定します。
コンテナのCPU使用率が
より大きい
80%の場合、アラートイベントが生成されます。フィルタ条件
アラートルールの適用範囲を指定します。リソースがフィルタ条件とアラート条件の両方を満たす場合、アラートイベントが生成されます。
以下のタイプのフィルタ条件がサポートされています。
トラバース:アラートルールは、現在のPrometheusインスタンスのすべてのリソースに適用されます。デフォルトでは、トラバースが選択されています。
等しい:このフィルタ条件を選択した場合は、リソース名を入力する必要があります。アラートルールは、指定されたリソースにのみ適用されます。複数のリソースを同時に指定することはできません。
等しくない:このフィルタ条件を選択した場合は、リソース名を入力する必要があります。アラートルールは、指定されたリソース以外のリソースに適用されます。複数のリソースを同時に指定することはできません。
正規表現一致:このフィルタ条件を選択した場合は、リソース名と一致する正規表現を入力する必要があります。テンプレートを使用して作成したアラートルールは、正規表現と一致するすべてのリソースに適用されます。
正規表現不一致:このフィルタ条件を選択した場合は、リソース名と一致する正規表現を入力する必要があります。アラートルールは、正規表現と一致しないリソースに適用されます。
インスタンスIPアドレス:トラバース
期間
アラート条件が満たされた場合、アラートイベントが生成されます:データポイントがしきい値に達すると、アラートイベントが生成されます。
アラート条件がN分間継続して満たされた場合、アラートイベントが生成されます:しきい値に達した期間がN分以上の場合にのみ、アラートイベントが生成されます。
1
アラートレベル
アラートレベルを指定します。デフォルト値:デフォルト。有効な値:デフォルト、P4、P3、P2、およびP1。デフォルトは最も低い重大度レベルを示し、P1は最も高い重大度レベルを示します。
デフォルト
アラートメッセージ
エンドユーザーに送信するアラートメッセージを指定します。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 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
アラートレベル
アラートレベルを指定します。デフォルト値:デフォルト。有効な値:デフォルト、P4、P3、P2、およびP1。デフォルトは最も低い重大度レベルを示し、P1は最も高い重大度レベルを示します。
デフォルト
アラートメッセージ
エンドユーザーに送信するアラートメッセージを指定します。Goテンプレート構文に基づいて、アラートメッセージにカスタム変数を指定できます。
名前空間:{{$labels.namespace}} / Pod:{{$labels.pod_name}} / {{$labels.device}} ディスクの使用率が90%を超えています。現在の値:{{ printf "%.2f" $value }}%
詳細設定
タグ
アラートルールのタグを指定します。指定されたタグを使用して、通知ポリシーと一致させることができます。
なし
注釈
アラートルールの注釈を指定します。
なし
アラートルールテンプレートの適用
アラートルールテンプレートを作成した後、特定のPrometheusインスタンスにテンプレートを適用して、インスタンスのアラートルールを作成または更新できます。
Prometheusアラートルールテンプレートページで、適用するアラートルールテンプレートを見つけて、[アクション]列のテンプレートの適用をクリックします。
Prometheus インスタンス選択モード タブの アプリケーション テンプレート ダイアログ ボックスで、1 つ以上の Prometheus インスタンスを選択し、OK をクリックします。
説明名前、リージョン、またはタイプでPrometheusインスタンスをクエリできます。
表示されるダイアログボックスで、選択したPrometheusインスタンスの既存のアラートルールを更新するかどうかを指定し、OKをクリックします。
作成済みアラートルールの更新を選択せず、Prometheusインスタンスに現在のテンプレートに基づいて作成されたアラートルールがある場合、次のメッセージが表示されます:アラートルールはこのテンプレートから作成されているため更新されません。この場合、既存のアラートルールは更新されません。
作成済みアラートルールの更新を選択すると、現在のテンプレートに基づいてPrometheusインスタンスに作成された既存のアラートルールが更新されます。
重要アラートルールが変更され、アラートルールとテンプレート間のマッピングが保持されている場合、変更は新しいテンプレートによって上書きされます。
テンプレートの削除
アラートルールテンプレートを使用する必要がなくなった場合は、テンプレートを削除できます。テンプレートを削除する際に、テンプレートから作成されたアラートルールを保持するかどうかを指定できます。
Prometheusアラートルールテンプレートページで、削除するアラートルールテンプレートを見つけて、[アクション]列の削除をクリックします。
表示されるダイアログボックスで、テンプレートから作成されたアラートルールを削除するかどうかを指定し、OKをクリックします。
テンプレートから作成されたアラートルールの削除を選択すると、テンプレートから作成されたアラートルールが削除されます。ただし、テンプレートから作成されたアラートルールを変更し、変更を保存する際にこのアラートルールとアラートルールテンプレート間のマッピングを削除を選択した場合、アラートルールは削除されません。
テンプレートから作成されたアラートルールの削除を選択しない場合、テンプレートから作成されたアラートルールは保持されます。
テンプレートから作成されたアラートルールの表示
テンプレートから作成されたアラートルールを表示および管理できます。
Prometheusアラートルールテンプレートページで、アラートルールテンプレートを見つけて、[アクション]列のアラートルールの表示をクリックします。
テンプレートから作成されたアラートルールダイアログボックスで、必要に応じてアラートルールを管理します。
複数のアラートルールを有効にする:有効にするアラートルールを選択し、アラートルールの有効化をクリックします。
複数のアラートルールを無効にする:無効にするアラートルールを選択し、アラートルールの無効化をクリックします。
複数のアラートルールを削除する:削除するアラートルールを選択し、アラートルールの削除をクリックします。
使用上の注意
テンプレートから作成されたアラートルールを変更した後、ダイアログボックスが表示されます。ダイアログボックスで、アラートルールとテンプレート間のマッピングを保持するかどうかを指定する必要があります。
このアラートルールとアラートルールテンプレート間のマッピングを保持するを選択した場合、テンプレートをアラートルールに対応するPrometheusインスタンスに適用し、[作成済みアラートルールの更新]を選択すると、変更が上書きされる可能性があります。
このアラートルールとアラートルールテンプレート間のマッピングを削除するを選択した場合、アラートルールは個別のルールと見なされます。アラートルール名を変更することをお勧めします。そうしないと、アラートルールテンプレートをPrometheusインスタンスに再度適用すると、名前の競合により新しいアラートルールが作成に失敗します。