すべてのプロダクト
Search
ドキュメントセンター

Managed Service for Prometheus:Prometheus インスタンスのアラートルールの作成

最終更新日:Sep 30, 2026

Prometheus のメトリクスが想定したしきい値を超えたり、異常なパターンを示したりした場合に、タイムリーに通知することでインシデントの拡大を防ぎます。Application Real-Time Monitoring Service (ARMS) Prometheus アラートルールを使用すると、任意のメトリクスに対して条件を定義できます。事前設定されたメトリクスを選択するか、カスタム PromQL 式を記述して、SMS、メール、電話、DingTalk チャットボット、WeCom チャットボット、または Webhook を通じてチームに通知を送信できます。

前提条件

Prometheus に接続されています。詳細については、次をご参照ください:

手順

  1. にログインします。 Prometheusコンソールのマネージドサービス。

  2. 左側のナビゲーションペインで、アラートルールリスト をクリックします。

  3. Prometheus アラートルール ページで、Prometheus アラートルールの作成 をクリックします。

静的しきい値に基づくPrometheus アラートルールの作成

静的しきい値チェックタイプでは、事前定義されたアラートメトリクスが提供されます。これらのメトリクスを選択することで、アラートルールを迅速に作成できます。

  1. Prometheus アラートルールの作成 ページで、以下のアラートパラメーターを設定します。

    パラメーター

    説明

    例

    アラート名

    アラートの名前です。

    prod-cluster-container-cpu-alert

    チェック種別

    静的しきい値を選択します。

    静的閾値

    Prometheus インスタンス

    アラートを作成する Prometheus インスタンスを選択します。

    Production Cluster

    アラートグループ

    アラートグループを選択します。

    異なる Prometheus タイプは、異なるアラートグループをサポートします。利用可能なアラートグループオプションは、選択した Prometheus インスタンスタイプによって変わります。

    Kubernetes Workloads

    アラートメトリック

    アラートを設定するメトリクスを選択します。各アラートグループは異なるメトリクスに対応しています。

    Container CPU utilization

    アラート条件

    アラートメトリクスの事前定義された内容に基づいて、アラートイベントをトリガーする条件を設定します。

    コンテナの CPU 使用率が 80% より大きい 場合、アラート条件が満たされます。

    フィルター条件

    アラートメトリクスに基づいて、アラートルールのスコープを定義します。フィルター条件に一致するいずれかのリソースがアラート条件を満たすと、アラートイベントがトリガーされます。

    以下のフィルター条件が利用可能です。

    • [トラバーサル]:アラートルールは、現在の Prometheus インスタンス内のすべてのリソースに適用されます。走査はデフォルトのフィルター条件です。

    • [等しい]:この条件を選択した後、特定のリソース名を入力します。アラートルールはそのリソースにのみ適用されます。複数のリソース名を入力することはできません。

    • [次の値に等しくない:]:この条件を選択した後、特定のリソース名を入力します。アラートルールは、指定されたリソースを除くすべてのリソースに適用されます。複数のリソース名を入力することはできません。

    • [正規表現に一致]:この条件を選択した後、必要に応じてリソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致するすべてのリソースに適用されます。

    • [正規表現と一致しない]:この条件を選択した後、必要に応じてリソース名に一致する正規表現を入力します。アラートルールは、正規表現に一致しないすべてのリソースに適用されます。

    説明
    • フィルター条件を設定すると、データプレビュー エリアが表示されます。

    • フィルター条件は 300 文字を超えることはできません。

    走査

    データプレビュー

    データプレビュー エリアには、アラート条件に対応する Prometheus Query Language (PromQL) 式が表示されます。また、モニタリングメトリクスの値が時系列曲線として表示されます。

    デフォルトでは、1 つのリソースのリアルタイム値のみが表示されます。このエリアのフィルターボックスでターゲットリソースと時間範囲を選択することで、異なるリソースと時間範囲の値を表示できます。

    説明
    • アラートしきい値は、時系列曲線上に赤い直線として表示されます。アラートしきい値を満たす曲線の部分は濃い赤で表示され、満たさない部分は青で表示されます。

    • 時系列曲線にマウスを合わせると、特定の時点でのリソースの詳細が表示されます。

    • 時系列曲線上で時間範囲を選択すると、その期間の曲線が表示されます。

    なし

    期間

    • いずれかのデータポイントがしきい値を満たすと、アラートイベントが即座にトリガーされます。

    • アラート条件が N 分間継続した場合にのみ、アラートイベントがトリガーされます。

    1

    アラートレベル

    アラートレベルをカスタマイズします。デフォルトのアラートレベルは [Default] です。重大度は、Default、P4、P3、P2、P1 の順に高くなります。

    Default

    アラート内容

    ユーザーが受信するアラート情報です。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 }}%

    アラート通知

    • [シンプルモード]:Notification Receiver、[通知期間]、および 繰り返しポリシー を設定できます。

    • [通常モード]:

      • 通知ポリシーを指定しない:このオプションを選択した場合、アラートルールを作成した後、通知ポリシー ページで新しい通知ポリシーを作成し、アラートルール名などのマッチングルールとマッチング条件を指定して、アラートルールを一致させることができます。アラートルールがトリガーされてアラートイベントが生成されると、アラート情報は通知ポリシーで指定された連絡先または連絡先グループに送信されます。詳細については、「通知ポリシー」をご参照ください。

      • 通知ポリシーを指定する:このオプションを選択した場合、ARMS は対応する通知ポリシーにマッチングルールを自動的に追加します。マッチングルールの内容はアラートルール ID であり、アラートルール名として表示されます。これにより、現在のアラートルールによって生成されたアラートイベントが、選択した通知ポリシーに一致することが保証されます。

      重要

      通知ポリシーを直接指定することで、現在のアラートルールからのアラートイベントが選択した通知ポリシーに一致し、対応するアラートが生成されることが保証されます。ただし、現在のアラートルールからのイベントは、あいまい一致で設定された他の通知ポリシーによっても一致する可能性があり、これもアラートを生成します。アラートイベントと通知ポリシーの関係は、多対多のマッピングです。

    通知ルールを指定しない

    [詳細設定]

    アラートチェック間隔

    システムがアラートルールをチェックして、データがアラート条件を満たしているかどうかを判断する間隔です。デフォルトは 1 分で、最小値は 1 分です。

    1

    データ完了後にチェック

    • はい

    • いいえ

    はい

    タグ

    アラートのタグを設定します。タグは、通知ポリシーのマッチングルールのオプションとして使用できます。

    なし

    アノテーション

    アラートのアノテーションを設定します。

    なし

  2. 設定が完了したら、保存 をクリックすると、Prometheus のアラートルール一覧ページで、現在のアラートルールのステータスを確認できます。

    アラートルールのStatusが自動的に中断するの場合は、アラートルールを編集して中断の原因を解決します。その後、起動をクリックし、表示されるダイアログボックスでConfirmをクリックします。 問題を解決できない場合は、DingTalk (ID: d9j_rg9e4062f) で ARMS アラート機能チームに連絡してサポートを依頼してください。

    アラートルールが自動的に中断される原因には、以下のようなものがあります。

    • ルールクエリが 1,500 を超える結果を返します。

    • アラート管理システムに通知受信者が設定されていません。

    • Prometheus インスタンスがアンインストールされているか、使用できません。

カスタム PromQL クエリを使用した Prometheus アラートルールの作成

事前設定された静的しきい値では対応していないメトリクスを監視するには、カスタム Prometheus Query Language (PromQL) クエリを使用してアラートルールを作成します。

  1. Prometheus アラートルールの作成 ページで、次のアラートパラメーターを設定します。

    パラメーター

    説明

    例

    アラート名

    アラートの名前です。

    Pod CPU usage is greater than 8%

    チェック種別

    カスタム PromQL クエリに設定します。

    カスタム PromQL クエリ

    Prometheus インスタンス

    アラートを作成する Prometheus インスタンスを選択します。

    なし

    参照アラートグループ

    アラートグループを選択します。

    異なる Prometheus タイプは、異なるアラートグループをサポートします。利用可能なアラートグループオプションは、選択した Prometheus インスタンスタイプによって変わります。

    Kubernetes Workload

    基準アラートメトリック

    オプションです。参照メトリクスは、一般的なメトリクスのカスタム PromQL 設定を提供します。類似のメトリクスを選択すると、フィールドが自動入力されます。次に、必要に応じて設定を変更します。

    [参照メトリック] パラメーターは、選択されたPrometheus インスタンスタイプに基づいて、サポートされているアラートメトリックを自動的に絞り込みます。

    Pod disk usage alert

    カスタム PromQL ステートメント

    PromQL 式を使用して、アラートルール式を設定します。

    Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%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

    データプレビュー

    データプレビュー エリアには、アラート条件に対応する Prometheus Query Language (PromQL) 式が表示されます。また、モニタリングメトリクスの値が時系列曲線として表示されます。

    デフォルトでは、1 つのリソースのリアルタイム値のみが表示されます。このエリアのフィルターボックスでターゲットリソースと時間範囲を選択することで、異なるリソースと時間範囲の値を表示できます。

    説明
    • 時系列曲線にマウスを合わせると、特定のデータポイントのリソースの詳細が表示されます。

    • 曲線上で時間範囲を選択すると、その期間の時系列が表示されます。

    なし

    期間

    • いずれかのデータポイントがしきい値を満たすと、アラートは即座にトリガーされます。

    • 条件が N 分間継続した場合にのみ、アラートがトリガーされます。

    1

    アラートレベル

    アラートレベルをカスタマイズします。デフォルトのアラートレベルは [Default] です。重大度は、Default、P4、P3、P2、P1 の順に高くなります。

    Default

    アラート内容

    ユーザーが受信するアラート情報です。Go テンプレート構文を使用して、アラートコンテンツ内のパラメーター変数をカスタマイズできます。

    次の例は、Pod 再起動アラートのテンプレートを示しています。これにより、読みやすい通知コンテンツを設定できます。

    Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}} restarted more than {{ $labels.metrics_params_value}} times in {{$labels.metrics_params_time}} minutes. Current restarts: {{ $value }}

    Namespace: {{$labels.namespace}}/Pod: {{$labels.pod_name}}/Disk device: {{$labels.device}} usage exceeds 90%, current value {{ printf "%.2f" $value }}%

    アラート通知

    • [シンプルモード]:Notification Receiver、[通知期間]、および 繰り返しポリシー を設定できます。

    • [通常モード]:

      • 通知ポリシーを指定しない:このオプションを選択した場合、アラートルールを作成した後、通知ポリシー ページで新しい通知ポリシーを作成し、アラートルール名などのマッチングルールとマッチング条件を指定して、アラートルールを一致させることができます。アラートルールがトリガーされてアラートイベントが生成されると、アラート情報は通知ポリシーで指定された連絡先または連絡先グループに送信されます。詳細については、「通知ポリシー」をご参照ください。

      • 通知ポリシーを指定する:このオプションを選択した場合、ARMS は対応する通知ポリシーにマッチングルールを自動的に追加します。マッチングルールの内容はアラートルール ID であり、アラートルール名として表示されます。これにより、現在のアラートルールによって生成されたアラートイベントが、選択した通知ポリシーに一致することが保証されます。

      重要

      通知ポリシーを直接指定することで、現在のアラートルールからのアラートイベントが選択した通知ポリシーに一致し、対応するアラートが生成されることが保証されます。ただし、現在のアラートルールからのイベントは、あいまい一致で設定された他の通知ポリシーによっても一致する可能性があり、これもアラートを生成します。アラートイベントと通知ポリシーの関係は、多対多のマッピングです。

    通知ルールを指定しない

    詳細設定

    アラートチェック期間

    アラートルールをチェックする間隔 (分単位) です。最小値は 1 分です。

    1

    データ完了後のチェック

    • はい

    • いいえ

    はい

    タグ

    アラートのタグを設定します。タグは、通知ポリシーのマッチングルールのオプションとして使用できます。

    なし

    アノテーション

    アラートのアノテーションを設定します。

    なし

  2. パラメーターを設定した後、保存 をクリックします。Prometheus アラートルールリストページで、アラートルールのステータスを表示できます。

    アラートルールの Status が 自動的に中断する の場合、提供された理由に基づいてルールを再度編集します。その後、起動 をクリックし、表示されるダイアログボックスで OK をクリックします。中断を解決できない場合は、ARMS アラート機能サービスアカウント (d9j_rg9e4062f) に連絡してサポートを依頼してください。

    アラートルールが自動的に中断される原因には、以下のようなものがあります。

    • ルールクエリが 1,500 を超える結果を返します。

    • アラート管理システムに通知受信者が設定されていません。

    • Prometheus インスタンスがアンインストールされているか、利用できません。

アラートルールの管理

  • Managed Service for Prometheus コンソールの [アラートルール] ページで作成したアラート (静的しきい値アラートやカスタム PromQL アラートなど) は、編集、有効化 (停止中のアラート)、無効化 (実行中のアラート)、削除、コピー、イベント履歴の表示が可能です。

  • 他の Alibaba Cloud 製品のコンソールで生成されたアラートについては、アラートイベント履歴を表示するか、対応する製品のアラート一覧に戻ることができます。

アラートルールを変更した後、既存の未回復のアラートイベントは、以前のルールに基づいて引き続きトリガーされます。新しいルールは、[アラート送信履歴] ページで対応する未回復のイベントを解決した後にのみ、以降のアラートトリガーから有効になります。

よくある質問

アラート回復通知が遅延するのはなぜですか?

システムには、エージェントレポートの遅延によって引き起こされる偽陰性を防ぐための遅延が組み込まれています。各チェック中、アラートエンジンは過去 10 分間のデータを確認します。メトリクスがアラート条件を満たさなくなった場合でも、この時間枠が経過した後にのみ、アラートが回復したと確認されます。

  • 回復時間:回復通知は、メトリクスがアラートをトリガーしなくなってから約 10 分後に送信されます。

  • メカニズムの詳細:Prometheus にはネイティブの自動回復機能がありません。この機能は ARMS の検出メカニズムを使用しています。

アラートルールテンプレートを適用した後、通知ポリシーが失われた場合はどうすればよいですか?

原因:アラートルールテンプレートには通知ポリシー設定が含まれていません。テンプレートを再適用すると、ルール ID が変更される可能性があります。これにより、元の通知ポリシーは _aliyun_arms_alert_rule_id ラベルと一致しなくなるため、機能しなくなります。

解決策:[アラート管理] > 通知ポリシー に移動し、影響を受けたポリシーを見つけます。[ディスパッチ条件] セクションで、ルール ID を使用する代わりに、alertname やクラスター名 cluster などのより安定したラベルを使用してルールを再関連付けします。

アラート式を increase に変更した後も重複したアラートを受信する場合はどうすればよいですか?

原因:通知ポリシーが N 分ごとに通知を再送信するように設定されており、手動回復に設定している場合、メトリクスが新しい式の条件を満たす限り、システムは新しいアラートイベントを生成し続けます。

解決策:通知ポリシーを変更します。繰り返し通知設定を「最初のトリガー時にのみ通知」に変更するか、「自動回復」モードに切り替えます。また、新しい式が保存されて有効になっていることを確認します。

設定後にデータがないか、トリガーされない Prometheus アラートルールのトラブルシューティング方法は?

次の手順に従って調査します。

  1. コンポーネントを確認:Container Service for Kubernetes (ACK) クラスターに kube-state-metrics コンポーネントがインストールされていることを確認します。インストールされていない場合は、インストールします。Prometheus コンポーネントのステータスを確認します。必要に応じて、ack-arms-prometheus コンポーネントを再インストールします。

  2. トリガー履歴を確認:ルールの横にある [アラート履歴] をクリックし、トリガーレコードを確認します。レコードがない場合は、ルールの条件が満たされていないことを示しています。考えられる原因には、メトリクス名の誤り、データの欠如、または無効なクエリ時間範囲などがあります。レコードが存在するが通知が送信されていない場合は、通知ポリシーのディスパッチルールを確認します。ラベル、クラスター名、およびその他の条件がディスパッチルールの基準に一致していることを確認します。

  3. 推奨事項:最新の Alibaba Cloud 検証済みアラートテンプレートを使用します。これにより、古いテンプレートで発生する可能性のある誤検知やアラートのトリガー失敗を防ぐことができます。

  4. 構文を確認:ページエラーが表示された場合は、PromQL クエリの正規表現を確認します。{pvc=~} などの空の式は無効であり、エラーが発生します。{pvc=~".*"} または特定の値に修正します。

ACS クラスターの Prometheus モニタリングからの Pod メモリアラートに料金はかかりますか?

はい。ACS クラスターは、Pod メモリメトリクスのモニタリングとアラートをサポートしています。SMS および音声通話で送信されるアラートには料金がかかります。DingTalk チャットボットおよび Webhook を通じて送信されるアラートは無料です。