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

:RecordingRule.yaml ファイルの変更

最終更新日:Dec 30, 2024

このトピックでは、レコーディングルールを設定し、レコーディングルールメトリックの詳細を表示する方法について説明します。

背景情報

レコーディングルールは、メトリックデータのカスタム開発に使用できます。一部のクエリでは、クエリ対象のサーバーで大量の計算が必要になる場合があり、サーバーのワークロードが増加します。レコーディングルールを設定して、計算プロセスを結果が書き込まれるサーバーに事前に実行することができます。これにより、クエリ対象のサーバーのリソース使用量が削減されます。大規模なクラスターが使用され、ビジネスが複雑なシナリオでは、レコーディングルールを使用すると、PromQL 式の複雑さを軽減できます。これにより、クエリのパフォーマンスが向上し、ユーザー設定が簡素化されます。

説明 Managed Service for Prometheus では、オープンソースの Prometheus と同じ方法でレコーディングルールを設定できます。レコーディングルールはルールグループ内に存在します。各ルールグループには複数のルールを含めることができます。レコーディングルールの名前は、有効なメトリック名である必要があります。グループ内のルールは、一定の間隔で順番に実行されます。メトリックは、新しいルール名に基づいてリモートデータベースに格納されます。

レコーディングルールを設定する

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

  2. 左側のナビゲーションペインで、Managed Service for Prometheus > インスタンス を選択します。

  3. ページの左上隅で、Prometheus インスタンスが存在するリージョンを選択します。次に、Prometheus インスタンスの名前をクリックします。
  4. 左側のナビゲーションペインで、設定 をクリックします。設定 タブをクリックします。次に、Recordingrule.yaml を編集 をクリックします。
  5. 表示されたダイアログボックスで、デフォルトの設定を削除し、レコーディングルールの設定を入力して、保存 をクリックします。
    説明 クラスターごとに 1 つの RecordingRule.yaml ファイルのみを設定する必要があります。ルールグループの名前は一意である必要があります。
    bc

    次のセクションでは、ルールグループの例を示します。

    groups:
      - name: apiserver_request_total  // APIサーバーのリクエスト合計
        interval: 60s // 間隔
        rules: // ルール
          - record: job_instance_mode:apiserver_request_total:avg_rate5m // 5分間の平均レート
            expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m])) // 式
            labels: // ラベル
              team: operations // チーム
          - record: job:apiserver_request_total:sum_rate10m // 10分間の合計レート
            expr: sum by (job)(rate(apiserver_request_total[10m])) // 式
            labels: // ラベル
              team: operations // チーム
    パラメーター説明
    groupsルールグループ。RecordingRule.yaml ファイルには複数のルールグループを設定できます。
    nameルールグループの名前。ルールグループの名前は、ファイル内で一意である必要があります。
    intervalオプション。ルールグループを評価する間隔。デフォルト値は 60 秒です。
    rulesレコーディングルール。ルールグループには複数のレコーディングルールを含めることができます。
    recordルールの名前。レコーディングルールの名前は、有効なメトリック名である必要があります。
    説明 レコーディングルール名の推奨フォーマットlevel:metric:operations
    • level は、ルール出力の集計レベルとラベルを示します。
    • metric は、メトリック名を示します。
    • operations は、メトリックに適用される操作のリストです。最新の操作が最初に表示されます。
    expr式。Managed Service for Prometheus は、この式を使用してメトリックを計算します。式は、有効な PromQL 式である必要があります。
    labelsオプション。メトリックのラベル。

レコーディングルールメトリックの詳細を表示する

方法 1: Grafana ダッシュボードを使用する

  1. オンプレミスの Grafana システムに管理者としてログインします。
  2. 左側のナビゲーションペインで、Explore をクリックします。
  3. Explore ページで、Kubernetes クラスター名を選択し、Metrics の横にあるテキストボックスにレコーディングルールメトリックの名前を入力します。メトリックの詳細が表示されます。fg

方法 2: Managed Service for Prometheus コンソールを使用する

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

  2. 左側のナビゲーションペインで、Managed Service for Prometheus > インスタンス を選択します。

  3. ページの左上隅で、Prometheus インスタンスが存在するリージョンを選択します。次に、Prometheus インスタンスの名前をクリックします。
  4. 左側のナビゲーションペインで、サービスディスカバリ をクリックします。メトリック タブをクリックします。次に、検索ボックスにレコーディングルールメトリックの名前を入力して、メトリックの詳細を表示します。

レコーディングルールのリモート書き込みを設定する

Managed Service for Prometheus は、オープンソースの Prometheus のリモート書き込み機能をサポートしています。

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

  2. 左側のナビゲーションペインで、Managed Service for Prometheus > インスタンス を選択します。

  3. ページの左上隅で、リモート書き込みを設定する Prometheus インスタンスが存在するリージョンを選択します。次に、Prometheus インスタンスの名前をクリックします。
  4. 左側のナビゲーションペインで、設定 をクリックします。設定 タブをクリックします。次に、Prometheus.yaml を編集 をクリックします。
  5. Prometheus.yaml を編集 ダイアログボックスで、リモート書き込みを設定します。
    jk
    説明 Managed Service for Prometheus では、オープンソースの Prometheus と同じ方法で remote_write パラメーターを設定できます。リモート書き込み設定の配列を指定できます。さらに、書き込み再ラベル設定を指定できます。
    リモート書き込み設定は、エージェントとレコーディングルールの両方に有効になります。レコーディングルールによって生成されたメトリックデータのみを他のデータベースにリモートで書き込む必要がある場合は、書き込み再ラベル設定を指定できます。例:
    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 アドレスを追加する必要があります。

 中国 (北京): 101.200.XX.XX
 中国 (杭州): 118.31.XX.XX
 中国 (上海): 106.14.XX.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

上記のパブリックエンドポイントを取得するには、チケットを送信するか、Managed Service for Prometheus のテクニカルサポート (DingTalk ID: aliprometheus) にお問い合わせください。