Managed Service for Prometheus の新しいバージョンは Cloud Monitor と統合されており、Cloud Monitor で直接 Prometheus アラートルールを作成できます。デフォルトでは、これらのルールによって生成されたアラートイベントは ARMS アラート管理システムに統合されます。このトピックでは、Prometheus アラートルールを作成し、ARMS アラート管理システムを使用して DingTalk やショートメッセージなどのチャネルにアラート通知を送信する方法について説明します。
前提条件
お使いのクラウドプロダクトが Prometheus に接続されていること。
ARMS が 有効化されていること。
アラートルールの作成
Cloud Monitor コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[アラートルール] ページで、ターゲットリージョンを選択し、[アラートルールの作成] をクリックします。
[アラートルールの作成] パネルで、アラートパラメーターを設定します。
パラメーター
説明
例
ルール名
アラートルールの名前。
本番クラスター - コンテナー CPU 使用率アラート
データソース
アラートルールを作成する Prometheus インスタンスを選択します。
本番クラスター
検出条件の定義方法
プリセットメトリックに基づいて設定: Prometheus は、プリセットのアラートメトリックのセットを提供します。プリセットメトリックを選択し、そのメトリックのアラートルールを設定できます。
カスタム PromQL: Prometheus クエリ言語 (PromQL) 文を直接入力します。
プリセットメトリックに基づいて設定
事前定義済みメトリックに基づく - メトリックグループ
メトリックグループを選択します。
Kubernetes 負荷
事前定義済みメトリックに基づく - メトリック
アラートルールを設定するメトリックを選択します。メトリックグループが異なれば、対応するメトリックも異なります。
コンテナー CPU 使用率
事前定義済みメトリックに基づく - フィルター条件
アラートメトリックに基づいてアラートルールの範囲を指定します。フィルター条件とアラート条件を満たすリソースに対してアラートイベントが生成されます。
次のフィルター条件を使用できます。
[トラバース]: アラートルールは、現在の Prometheus インスタンス内のすべてのリソースに適用されます。これはデフォルトのフィルター条件です。
[次に等しい]: この条件を選択した後、特定のリソース名を入力します。作成されたアラートルールは、指定されたリソースにのみ適用されます。複数のリソースを指定することはできません。
[次に等しくない]: この条件を選択した後、特定のリソース名を入力します。作成されたアラートルールは、指定されたリソースを除くすべてのリソースに適用されます。複数のリソースを指定することはできません。
[正規表現に一致]: この条件を選択した後、リソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致するすべてのリソースに適用されます。
[正規表現に一致しない]: この条件を選択した後、リソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致するすべてのリソースを除外します。
トラバース
事前定義済みメトリックに基づく - 検出条件
アラートメトリックのプリセット内容に基づいて、アラートイベントを生成するための条件を設定します。
コンテナーの CPU 使用率が
より大きい80 % である場合、アラート条件が満たされます。事前定義済みメトリックに基づく - PromQL プレビュー
アラート条件に対応する PromQL 文。PromQL 文を使用して、カスタム PromQL メソッドで直接アラートを作成したり、この PromQL 文を使用してダッシュボードを作成したりできます。
-
カスタム PromQL - カスタム PromQL
PromQL 文を使用して、アラートルールの式を設定します。
100 - avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100 > 80
クエリ結果のプレビュー
現在のアラートルールで設定されているメトリックの値を時系列曲線として表示します。
なし
重大度
デフォルトの重大度は P4 です。重大度レベルは、昇順で P4、P3、P2、P1 です。
P4
継続時間
しきい値が N 分以上満たされた場合にのみ、アラートイベントが生成されます。
1
アラートチェックサイクル
アラートルールがデータがアラート条件を満たしているかどうかをチェックする間隔。単位は分です。
1
データ完了後の検出
現在のエポックのすべてのモニタリングデータが収集および処理された後、完全なデータに基づいてアラート条件がトリガーされたかどうかを判断するかどうかを指定します。
はい
アラート内容
Go テンプレート構文を使用して、アラート内容のアラートパラメーター変数をカスタマイズします。
[プリセットメトリックに基づく設定] メソッドでは、システムはさまざまなメトリック用のプリセットテンプレートを提供します。プリセットテンプレートがニーズに合わない場合は、変更できます。
例:
Node {{ $labels.instance }} CPU utilization{{$labels.metrics_params_opt}} {{$labels.metrics_params_value}}%, current CPU utilization {{ printf "%.2f" $value }}%アラート内容にカスタムタグを追加することもできます。例:

Go テンプレートがテンプレートをレンダリングするとき、コンテキストからのデータに基づいてテンプレートを埋めます。名前空間
{{$labels.namespace}}と Pod{{$labels.pod_name}}は、PromQL クエリの結果から取得されます:
カスタムタグとアノテーションを追加するには、
{{$labels.custom_label_key}}を使用して導入します。
名前空間: {{$labels.namespace}} / Pod: {{$labels.pod_name}} / コンテナー: {{$labels.container}} CPU 使用率{{$labels.metrics_params_opt_label_value}} {{$labels.metrics_params_value}}%、現在の値{{ printf "%.2f" $value }}%
タグ
アラートのタグを設定します。タグは、通知ポリシーの一致ルールのオプションとして使用できます。
なし
アノテーション
アラートのアノテーションを設定します。
なし
アラート通知
アラートイベントは、デフォルトで ARMS アラート管理システムに送信されます。ARMS アラート管理プラットフォームに移動して 通知ポリシー を設定し、アラート通知を送信できます。
はい
完了したら、[OK] をクリックします。[アラートルール] ページで新しいアラートルールのステータスを確認できます。
アラート通知の設定
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
[通知ポリシー] ページで、[通知ポリシーの作成] をクリックします。[通知ポリシーの作成] ページで、ポリシーの名前を入力します。
[一致ルール] セクションで、アラートイベントの一致ルールを設定します。
データソースを ARMS-Prometheus モニタリングに設定します。

一致ルールの式を設定します。カスタムタグを定義するか、既存のタグを選択し、対応する値を選択できます。必要な値がドロップダウンリストにない場合は、直接入力できます。
既存のタグには、システムタグ とアラートルールのメトリックからのタグが含まれます。
[次へ] をクリックします。
[イベントグループ] ステップで、アラートイベントをグループ化するかどうかを指定するオプションを選択し、[次へ] をクリックします。
アラートイベントをグループ化しないように指定した場合、すべてのアラートイベントがアラート通知で連絡先に送信されます。
アラートイベントをグループ化するように指定した場合、フィールドも指定する必要があります。同じフィールド値を持つアラートイベントがグループ化されます。アラートイベントの各グループは、1 つのアラート通知で連絡先に送信されます。
[通知オブジェクト] ステップで、次のパラメーターを設定します。
[+ 通知オブジェクトの追加] をクリックして連絡先を選択します。
連絡先の種類:

連絡先: 連絡先を選択するときは、電話、ショートメッセージ、メールなどの通知方法を選択します。
連絡先グループ: 連絡先グループを選択するときは、電話、ショートメッセージ、メールなどの通知方法を選択します。
シフト: シフトを選択するときは、電話、ショートメッセージ、メールなどの通知方法を選択します。
インスタントメッセージング (IM) アプリケーション: DingTalk、Lark、WeCom などの IM アプリケーションから連絡先にアラート通知を送信できます。
Webhook: Webhook を使用してアラート通知を送信できます。
アラートがクリアされた後にクリア通知を送信するかどうかを指定します。
アラートがクリアされた後にクリア通知を送信することを選択した場合、アラートに関連するすべてのイベントが処理されると、アラートのステータスは自動的に [解決済み] に変わります。アラートがクリアされると、システムは連絡先にクリア通知を送信します。
通知テンプレートを指定します。詳細については、「通知テンプレートと Webhook テンプレートを設定する」をご参照ください。
アラート通知が送信される期間を指定します。
(オプション)アラート通知の送信先となるチケットシステムを選択します。詳細については、「統合」をご参照ください。
[次へ] をクリックします。
[アラートの繰り返し/エスカレーション/クリアのポリシー] ステップで、繰り返し通知を送信するか、エスカレーションポリシーを使用するかを指定し、[次へ] をクリックします。
[通知を再送信するかどうか]: 繰り返し通知を送信するには、アラート通知を送信する間隔を指定します。アラートがクリアされるまで、指定された間隔でアラート通知が継続的に送信されます。
[アラートのエスカレーションポリシーを設定するかどうか]:
エスカレーションポリシーを使用しない場合、アラートがクリアされる前にアラート通知は 1 回だけ送信されます。
エスカレーションポリシーを使用する場合、アラートがクリアされるまで、エスカレーションポリシーに基づいて他の通知オブジェクトにアラート通知が送信されます。
[アラートの手動回復を有効にするかどうか]: 手動回復を有効にすると、[統合] ページの [アラート統合] タブで設定された自動回復時間内にアラートイベントがトリガーされない場合、アラートは自動的にクリアされません。
[アクションの統合] ステップで、アラートがトリガーまたはクリアされた後の自動アクションを指定します。詳細については、「アラートプランを実行するためのアクション統合を作成する」をご参照ください。

