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

Managed Service for Prometheus:PrometheusRule を使用したアラートルールの作成

最終更新日:Sep 03, 2026

PrometheusRule を使用して Managed Service for Prometheus でアラートルールを作成する方法について説明します。

背景情報

PrometheusRule は、Prometheus Operator のカスタムリソース定義 (CRD) で、アラートの管理に使用されます。PrometheusRule は、Prometheus のアラートルールまたはレコーディングルールのグループを定義します。Prometheus Operator がインストールされた Kubernetes クラスターでは、PrometheusRule を使用してアラートを作成できます。Monitoring as Code の実装として、PrometheusRule は GitOps ベースの開発と運用保守 (DevOps) システムの構築に最適です。

また、PrometheusRule を使用して Managed Service for Prometheus でアラートルールを作成することもできます。Managed Service for Prometheus は、アラートを管理するためのユーザーフレンドリな UI を提供し、Prometheus Operator の PrometheusRule を使用したアラート作成とも互換性があります。

注意事項

Managed Service for Prometheus は、PrometheusRule を使用してアラートルールを作成および管理するための次の 2 つの方法をサポートしています。

  • 方法 1:PrometheusRule をアラートルールテンプレートとしてインポートし、UI 上でアラートを一括で視覚的に作成および更新します。この方法は、Alibaba Cloud コンソールで UI を使用して多数のアラートルールを効率的に管理したいユーザーに適しています。詳細については、「方法 1:PrometheusRule をアラートルールテンプレートとしてインポート」をご参照ください。

  • 方法 2:Managed Service for Prometheus のエージェントを有効にして、PrometheusRule を自動的に同期させます。これにより、既存のオープンソースのアラート設定を引き続き使用できます。この方法は、オープンソースのプラクティスに慣れており、Monitoring as Code ベースの運用システムを構築したいユーザーに適しています。詳細については、「方法 2:エージェントを有効にして PrometheusRule アラートルールを同期」をご参照ください。

説明

デフォルトでは、Managed Service for Prometheus は Kubernetes で作成された PrometheusRule を読み取りません。そのため、ビジネス要件に応じて、いずれかの方法を使用して PrometheusRule によるアラートの作成と管理ができます。

方法 1:PrometheusRule をテンプレートとしてインポート

メリット

Managed Service for Prometheus は、アラートルールテンプレート機能を提供し、複数のリージョンやクラスターにまたがるアラート設定を簡素化します。アラートルールテンプレートを一度設定すれば、世界中のさまざまなクラスターに適用できるため、設定のワークロードが大幅に削減され、効率が向上します。

Managed Service for Prometheus では、PrometheusRule の設定をアラートルールテンプレートとして一括でインポートできるため、クラスターごとに個別の PrometheusRule を作成する必要がありません。

操作手順

  1. Cloud Monitor コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[アラートルールテンプレート] をクリックします。

  3. [Prometheus アラートルールテンプレート] ページで、左下隅にある [テンプレートのインポート] をクリックします。

  4. [インポート] ダイアログボックスで、ご利用の PrometheusRule の `spec` フィールドの内容をテキストボックスに貼り付け、[アラートルールテンプレートのインポート] をクリックします。

    例:次の例は、サンプル PrometheusRule の `spec` フィールドの内容を示しています。

    apiVersion: monitoring.coreos.com/v1
    kind: PrometheusRule
    metadata:
      creationTimestamp: null
      labels:
        prometheus: example
        role: alert-rules
      name: prometheus-example-rules
    spec:
      groups:
      - name: ./example.rules
        rules:
        - alert: ExampleAlert
          expr: vector(1)
          for: 1m
          labels:
            severity: critical
          annotations:
            message: testalert

    `spec` の内容を [インポート] ダイアログボックスに貼り付け、[アラートルールテンプレートのインポート] をクリックする必要があります。

    インポートが成功したら、新しいテンプレートを選択し、[Prometheus アラートルールテンプレート] ページの左下隅にある [テンプレートの適用] をクリックして一括で適用します。

方法 2:Managed Service for Prometheus エージェントを有効にして PrometheusRule を同期

利用シーン

  • GitOps などのシステムを使用しており、Monitoring as Code のアプローチでアラートルールの設定を継続したい場合。

  • Managed Service for Prometheus に接続されている ACK クラスターに対して、PrometheusRule を使用してアラートを作成したい場合。この方法は ACS クラスターには適用されません。

操作手順

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. [クラスター] ページで、ご利用のクラスターを見つけ、[操作] 列の [アプリケーション] をクリックします。

  3. [デプロイメント] ページで、Namespace ドロップダウンリストから [arms-prom] を選択します。[名前] 列で、名前が `arms-prometheus` で始まる Deployment (例:`arms-prometheus-ack-arms-prometheus`) を見つけます。次に、[操作] 列の [編集] をクリックします。

  4. [編集] ページの [ライフサイクル] セクションで、[開始] の [パラメーター] を設定します。[パラメーター] フィールドに --alert=true 引数を追加します。次に、[編集] ページの右上隅で [更新] をクリックします。

    image

    Managed Service for Prometheus エージェントが更新された後、3 分から 5 分待ちます。その後、Managed Service for Prometheus コンソールの [アラートルールリスト] ページで、すべてのアラートのステータスが [実行中] と表示されていることを確認できます。

重要

クラスターの PrometheusRule の自動同期を有効にした後は、Managed Service for Prometheus コンソールで同期されたアラートルールを変更しないでください。予期しない動作を引き起こす可能性があります。例えば、コンソールでアラートルールの名前変更や削除ができなくなります。さらに、Managed Service for Prometheus コンソールでこれらのルールを変更すると、Monitoring as Code のメカニズムが崩れます。これは、変更されたルールが GitOps などの外部システムに同期できなくなることを意味します。

次のステップ

Managed Service for Prometheus エージェントのアラート同期を有効にすると、Managed Service for Prometheus エージェントは `arms-prom` Namespace に一連の組み込みのアラートルールを作成します。以下の出力例をご参照ください。これらの自動作成される組み込みのアラートルールの詳細については、「Prometheus アラートルールの作成」をご参照ください。

$kubectl get prometheusrule -n arms-prom
NAME                    AGE
prometheus-arms-rules   439d
prometheus-event-rules  439d
prometheus-k8s-rules    439d

これらの組み込みのアラートルールが不要な場合は、Managed Service for Prometheus エージェントの defaultAlert パラメーターを変更することで、自動作成を無効にできます。

説明

defaultAlert パラメーターは、デフォルトアラートの自動作成を制御します。デフォルトでは、このパラメーターは true に設定されています。デフォルトアラートの作成を防ぐには、このパラメーターを false に設定します。

  1. Managed Service for Prometheus エージェントの defaultAlert パラメーターを false に設定します。

    1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

    2. [クラスター] ページで、対象のクラスターを見つけ、[操作] 列の [アプリケーション] をクリックします。

    3. [デプロイメント] ページで、Namespace ドロップダウンリストから [arms-prom] を選択します。[名前] 列で、名前が `arms-prometheus` で始まる Deployment を見つけます。次に、[操作] 列の [編集] をクリックします。

    4. [編集] ページの [ライフサイクル] セクションで、[開始] のパラメーターを設定します。[パラメーター] テキストボックスに --defaultAlert=false を追加します。次に、[編集] ページの右上隅にある [更新] をクリックします。

    説明

    Managed Service for Prometheus エージェントが更新された後、3 分から 5 分待ちます。Managed Service for Prometheus は、クラスターのデフォルトアラートを作成しなくなります。

  2. (任意) デフォルトのアラートルールを削除します。

    1. Managed Service for Prometheus コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

    3. 対象の Kubernetes クラスターの Prometheus インスタンスの名前をクリックします。

    4. 左側のナビゲーションウィンドウで、[アラートルール] をクリックします。[Prometheus アラートルール] ページで、削除したいアラートルールを見つけ、[操作] 列の [削除] をクリックし、表示されるダイアログボックスで [OK] をクリックします。