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

Managed Service for Prometheus:PrometheusRule を使用してアラートルールを作成する

最終更新日:Nov 10, 2025

このトピックでは、Alibaba Cloud Managed Service for Prometheus でアラートルールを作成および管理する方法について説明します。

背景情報

PrometheusRule は、Prometheus Operator でアラートを管理するために使用されるカスタムリソース定義(CRD)です。PrometheusRule は、Prometheus アラートルールまたは記録ルールのセットを定義します。 Prometheus Operator がインストールされている Kubernetes クラスタでは、PrometheusRule を作成してアラートルールを作成できます。 Monitoring as Code(MaC)の実装として、PrometheusRule は GitOps の研究開発および運用保守システムの構築に適しています。

Managed Service for Prometheus では、PrometheusRule を使用してアラートルールを作成および管理することもできます。Managed Service for Prometheus を使用すると、インタラクティブで視覚化されたインターフェイスで Prometheus インスタンスのアラートを管理できます。また、Prometheus Operator で PrometheusRule を使用してアラートを作成および管理することもできます。

使用上の注意

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

  • 方法 1:PrometheusRule をアラートルールテンプレートとしてインポートし、視覚化された方法で複数のアラートを作成または更新します。この方法は、グラフィカルユーザーインターフェイス(GUI)の使用に慣れているユーザーに適しています。 Managed Service for Prometheus コンソールで多数のアラートルールを効率的に管理できます。詳細については、「方法 1:PrometheusRule をアラートルールテンプレートとしてインポートする」をご参照ください。

  • 方法 2:Prometheus エージェントを有効にして、PrometheusRule ルールを自動的に同期します。このようにして、オープンソースのアラート構成を使用できます。この方法は、オープンソースの MaC ベースの運用保守システムの構築に慣れているユーザーに適しています。詳細については、「方法 2:Prometheus エージェントを有効にして PrometheusRule アラートルールを同期する」をご参照ください。

説明

デフォルトでは、Managed Service for Prometheus は Kubernetes クラスタから PrometheusRule ルールを読み取りません。ビジネス要件に基づいて、上記のいずれかの方法を使用してアラートルールを作成および管理できます。

方法 1:PrometheusRule をアラートルールテンプレートとしてインポートする

メリット

Managed Service for Prometheus は、複数リージョンおよびクラスタでのアラート構成の効率を高めるために、アラートルールテンプレートを提供します。詳細については、「アラートルールテンプレートの作成と管理」をご参照ください。アラートルールテンプレートは、世界中のさまざまなクラスタに繰り返し適用できます。これにより、アラート構成の作業負荷が大幅に軽減され、構成効率が向上します。

Managed Service for Prometheus を使用すると、PrometheusRule をアラートテンプレートとしてインポートし、そのアラートテンプレートを複数のクラスタに適用できます。このようにして、クラスタごとに PrometheusRule を作成する必要はありません。 PrometheusRule をアラートルールテンプレートとしてインポートするには、次の手順を実行します。

手順

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

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

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

  4. [インポート] ダイアログボックスに、PrometheusRule の spec コンテンツを貼り付けて、[アラートルールテンプレートのインポート] をクリックします。

    次の図は、サンプル PrometheusRule の spec コンテンツ(アイコン 1)を示しています。qt

    上記の spec コンテンツ(アイコン 1)を [インポート] ダイアログボックスに貼り付けて、次の図に示すように、[アラートルールテンプレートのインポート] をクリックします。ar

    アラートルールテンプレートをインポートした後、[Prometheus アラートルールテンプレート] ページで [テンプレートの適用] をクリックして、テンプレートを複数の Prometheus インスタンスに適用する必要があります。

方法 2:Prometheus エージェントを有効にして PrometheusRule アラートルールを同期する

シナリオ

  • GitOps などのシステムで MaC を使用してアラートルールを構成する場合。

  • PrometheusRule を使用して、[Managed Service for Prometheus] で監視されている Container Service for Kubernetes (ACK) クラスタのアラートルールを作成します。この場合、Prometheus エージェントの alert パラメーターを true に設定する必要があります。

手順

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

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

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

    image

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

    image

    Prometheus エージェントを更新してから 3~5 分待つと、Managed Service for Prometheus コンソールの [アラートルールの表示] ページで、すべてのアラートが [実行中] 状態になります。

重要

クラスターで PrometheusRule が有効になっている場合、Managed Service for Prometheus コンソールで同期されたアラートルールを変更しないことを推奨します。これは、多くの場合、予期せぬ結果を招きます。たとえば、アラートルール名の変更やアラートルールの削除ができなくなる可能性があります。また、MaC メカニズムが損なわれる可能性もあります。この場合、変更されたルールは GitOps などの外部 O&M システムに同期できません。

次のステップ

Prometheus エージェントの警告オプションを有効にすると、[Managed Service for Prometheus] は、次の図に示すように、arms-prom 名前空間で一連の組み込みアラートルールを作成します。組み込みアラートルールの詳細については、「アラートルールの説明」をご参照ください。image

defaultAlert パラメーターを変更して、Prometheus エージェントの組み込みアラートルールを無効にすることができます。次の手順を実行します。

説明

Managed Service for Prometheus は、Managed Service for Prometheus がデフォルトのアラートルールを自動的に作成するかどうかを指定できる defaultAlert パラメーターを提供します。このパラメーターが true に設定されている場合、Managed Service for Prometheus はデフォルトのアラートルールを自動的に作成します。このパラメーターが false に設定されている場合、Managed Service for Prometheus はデフォルトのアラートルールを自動的に作成しません。

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

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

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

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

    4. [編集] ページの [ライフサイクル] セクションで、[開始] パラメーターの [パラメーター] フィールドに --defaultAlert=false を入力します。次に、[編集] ページの右上隅で [更新] をクリックします。

    説明

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

  2. オプション: デフォルトのアラートルールを削除します。

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

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

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

    4. 左側のナビゲーションウィンドウで、[アラートルール] をクリックします。[Prometheus アラートルール] ページで、削除するアラートルールを見つけ、[アクション] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。