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

Managed Service for Prometheus:RecordingRule.yaml の編集

最終更新日:Jun 17, 2026

レコーディングルールを設定して書き込み側でメトリックを事前集約し、その結果のメトリックを Grafana または Prometheus コンソールで表示します。

背景情報

レコーディングルールは、負荷の高い PromQL 式を書き込み側で事前計算することで、クエリ側の負荷を軽減します。大規模なクラスターや複雑なビジネスシナリオにおいて、これによりクエリが簡素化され、パフォーマンスが向上します。

説明

レコーディングルールの設定は、オープンソースの Prometheus と同じです。ルールはルールグループにまとめられ、各ルールグループには複数のルールを含めることができます。レコーディングルールの名前は、Prometheus のメトリック命名規則に準拠する必要があります。同じグループ内のルールは、指定された間隔で順次評価されます。その後、システムは結果のメトリックを新しいルール名でリモートデータベースに保存します。

レコーディングルールの設定

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

  2. 左側のナビゲーションウィンドウで、[Managed Service For Prometheus] > [インスタンス] を選択して、Managed Service for Prometheus のインスタンスリストを開きます。

  3. ページの左上隅でターゲットリージョンを選択し、目的の Prometheus インスタンスの名前をクリックします。

  4. 左側のナビゲーションウィンドウで [設定] をクリックします。[設定] タブで、[RecordingRule.yaml の編集] をクリックします。

  5. 表示されるダイアログボックスで、デフォルトのテンプレートを削除し、レコーディングルールの設定を入力してから、[保存] をクリックします。

    説明

    クラスターごとに使用する RecordingRule.yaml ファイルは 1 つだけにしてください。ルールグループの名前は一意である必要があります。

    例:

    groups:
      - name: apiserver_request_total
        interval: 60s
        rules:
          - record: job_instance_mode:apiserver_request_total:avg_rate5m
            expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m]))
            labels:
              team: operations
          - record: job:apiserver_request_total:sum_rate10m
            expr: sum by (job)(rate(apiserver_request_total[10m]))
            labels:
              team: operations

    パラメーター

    説明

    groups

    ルールグループのリスト。1 つの RecordingRule.yaml ファイルに複数のルールグループを設定できます。

    name

    ルールグループの名前。名前はファイル内で一意である必要があります。

    interval

    (任意) グループ内のルールの評価間隔。デフォルト:60s。

    rules

    グループ内のルールのリスト。

    record

    記録する新しい時系列の名前。名前は Prometheus のメトリック命名規則に準拠する必要があります。

    説明

    レコーディングルールの名前には、推奨されるフォーマットである level:metric:operations を使用します。

    • level:集約レベルとルールの出力ラベル。

    • metric:メトリックの名前。

    • operations:メトリックに適用される操作のリスト。最新の操作が最初にリストされます。

    expr

    Alibaba Cloud Managed Service for Prometheus がレコーディングルールのメトリックを計算するために使用する式。式は有効な PromQL クエリである必要があります。

    labels

    (任意) 新しいメトリックに追加するラベル。

レコーディングルールメトリックの表示

方法1:Grafana でメトリックを表示する

  1. 管理者として Grafana システムにログインします。

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

  3. [Explore] ページで、ご利用の Kubernetes クラスターに対応するデータソースを選択します。メトリッククエリフィールドに、job_instance_mode:apiserver_request_total:avg_rate5m などのレコーディングルールメトリックの名前を入力します。[Query type][Range] に設定し、[Run Query] をクリックします。クエリは、apiserver のリクエストレートの傾向を示す折れ線グラフを返します。

方法2:Prometheus コンソールからメトリックを表示する

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

  2. 左側のナビゲーションウィンドウで、[Managed Service For Prometheus] > [インスタンス]を選択して、Managed Service for Prometheus のインスタンスリストを開きます。

  3. ページの左上隅でターゲットリージョンを選択し、目的の Prometheus インスタンスの名前をクリックします。

  4. 左側のナビゲーションウィンドウで [サービスディスカバリ] を選択し、[メトリック] タブをクリックします。次に、検索ボックスにレコーディングルールメトリックの名前を入力して、その詳細を表示します。

レコーディングルールとリモートライト

Alibaba Cloud Managed Service for Prometheus のレコーディングルールは、オープンソースの Prometheus と同様にリモートライトをサポートしています。

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

  2. 左側のナビゲーションウィンドウで、[Managed Service for Prometheus] > [インスタンス] を選択して、Managed Service for Prometheus のインスタンスリストを開きます。

  3. ページの左上隅でターゲットリージョンを選択し、目的の Prometheus インスタンスの名前をクリックします。

  4. 左側のナビゲーションウィンドウで [設定] をクリックします。[設定] タブで、[Prometheus.yaml の編集] をクリックします。

  5. 表示される [Prometheus.yaml の編集] ダイアログボックスで、リモートライトを設定します。

    remote_write:
        - url: "https://cn-beijing.arms.aliyuncs.com/prometheusxxx/cn-beijing/api/v3/write"
          remote_timeout: 60s
          name: xxx
          basic_auth:
              username: xxx
              password: xxx
          write_relabel_configs:
            - action: keep
              source_labels: ["instance"]
              regex: "xxx"
        - url: "https://cn-hangzhou.arms.aliyuncs.com/prometheuxxxxx/cn-hangzhou/api/v3/write"
          remote_timeout: 60s
          name: xxx
          basic_auth:
              username: xxx
              password: xxx
          write_relabel_configs:
            - action: replace
              source_labels: ["job"]
              regex: "(.*)"
              target_label: __xxx_job__
              replacement: ${1}:xxx
    説明

    リモートライトの設定方法は、オープンソースの Prometheus と同じです。複数のリモートライト設定と write_relabel_configs がサポートされています。

    レコーディングルールによって生成されたメトリックのみを別のストレージにリモートで書き込むには、次の例に示すように write_relabel_configs セクションを設定します。

    remote_write:
      - url: "https://xxxx/api/v1/prom/write?db=dbname&u=username&p=password"    // リモートストレージのエンドポイント
        write_relabel_configs:
          - source_labels: [__name__]
            regex: job_instance_mode:apiserver_request_total:avg_rate5m
            action: keep
    説明

    この設定では、指定されたレコーディングルールメトリック (job_instance_mode:apiserver_request_total:avg_rate5m) のみが別のストレージにリモートで書き込まれます。

関連操作

リモートライトには、パブリックエンドポイント URL が必要です。レコーディングルールコンポーネントの IP アドレスをネットワークのホワイトリストに追加する必要がある場合は、ご利用のリージョンに対応する IP アドレスを使用してください。

 中国 (北京): 101.200.XX.XX
 中国 (杭州): 118.31.XX.XX
 中国 (上海): 106.14.XX.XX
 中国 (深セン): 8.129.XX.XX
 中国 (張家口): 39.103.XX.XX
 中国 (青島): 139.129.XX.XX
 中国 (成都): 47.108.XX.XX
 中国 (香港): 47.242.XX.XX
 シンガポール: 47.241.XX.XX

完全な IP アドレスを取得するには、チケットを送信するか、DingTalk で Prometheus のオンコールアカウント(ID: aliprometheus)を検索してプロダクトエキスパートにお問い合わせください。