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

Managed Service for Prometheus:Managed Service for Prometheus での Remote Read の使用

最終更新日:Jun 22, 2026

Managed Service for Prometheus は、標準の Remote Read エンドポイントを提供します。このエンドポイントをセルフマネージド Prometheus の構成に追加することで、クラウド上のインスタンスからメトリックをクエリできます。このトピックでは、セルフマネージド Prometheus サーバーを設定して Managed Service for Prometheus インスタンスからメトリックを読み取る方法について説明します。

重要

Prometheus の Remote Read モードは、大量の生時系列データをローカルの Prometheus コンピュートエンジンに読み込んで計算を行うため、多くの使用上の制限があります。そのため、Managed Service for Prometheus が提供する HTTP API クエリプロトコルを直接使用することを推奨します。

Managed Service for Prometheus は、完全な Prometheus クエリ API を提供します。サーバー上でクエリを処理し、最終結果のみを返すため、Remote Read を使用する場合よりも何倍も高速なパフォーマンスを実現します。この API を使用すると、HTTP 経由で直接クエリを送信したり、ローカルの Prometheus コンピュートエンジンなしで Grafana などのツールを接続したりできます。設定の詳細については、「HTTP API エンドポイントを使用して Grafana またはセルフマネージドアプリケーションを Prometheus データに接続する」をご参照ください。

Remote Read アプローチの制限事項は次のとおりです:

  • ローカルの Prometheus コンピュートエンジンを維持するための高いインフラストラクチャコスト。

  • 各クエリで大量の生データをネットワーク経由で転送する必要があるため、高いエンドツーエンドレイテンシが発生する。

  • 大規模なデータセットをクエリする際に超過しやすい、厳格なサービス制限

制限事項

Remote Read エンドポイントは HTTP/2 をサポートしていません。

前提条件

Managed Service for Prometheus インスタンスを作成済みであること。詳細については、「インスタンスの作成」をご参照ください。

(オプション) ステップ 1: RAM ユーザーに CMS の読み取りおよび書き込み権限を付与する

Alibaba Cloud アカウントで作成した Alibaba Cloud Prometheus インスタンスで、RAM ユーザーの AccessKey ID と AccessKey Secret を使用してリモートでの読み取りおよび書き込み操作を行うには、まず、その RAM ユーザーに CMS に対する読み取りおよび書き込み権限を付与する必要があります。

  1. Alibaba Cloud アカウント (root ユーザー) または RAM 管理者として RAM コンソールにログインします。左側のナビゲーションウィンドウで、承認管理 > 承認 を選択します。

  2. 承認 ページで、権限を新規付与する をクリックします。権限を新規付与する ページで、次のようにパラメーターを設定します。

    パラメーター

    説明

    リソース

    必要に応じてリソース範囲を選択します。

    [プリンシパル]

    プリンシパルを指定します。プリンシパルは、権限を付与する RAM ユーザーです。

    権限ポリシー

    必要に応じて、次の権限を RAM ユーザーに追加します:

    • AliyunCloudMonitorFullAccess:CMS の完全な権限。この権限を持つ RAM ユーザーは、すべてのサブプロダクトのインスタンスを表示、編集、削除する完全な権限を持ちます。

    • AliyunCloudMonitorReadOnlyAccess:CMS の読み取り専用権限。この権限を持つ RAM ユーザーは、すべてのサブプロダクトのインスタンス情報を表示することしかできません。インスタンスの変更や削除はできません。

  3. [確認] をクリックし、次に 削除 をクリックします。

ステップ 2:Remote Read エンドポイントの取得

  1. CloudMonitor コンソールにログインします。左側のナビゲーションウィンドウで、Prometheusモニタリングインスタンスリスト を選択し、インスタンスリスト ページに移動します。

  2. 上部のメニューバーで、インスタンスのリージョンを選択します。対象クラスターの アクション 列で、変更 をクリックします。

  3. 変更 タブで、必要に応じてパブリックまたは内部の Remote Read エンドポイントをコピーします。

    パブリックエンドポイントのフォーマットは http://{region}.arms.aliyuncs.com:9090/api/v1/prometheus/xxx です。内部エンドポイントのフォーマットは http://{region}-intranet.arms.aliyuncs.com:9090/api/v1/prometheus/xxx です。xxx の部分は、システムが生成した認証情報です。

ステップ 3:セルフマネージド Prometheus の設定

  1. Prometheus をインストールします。詳細については、Prometheus のダウンロードページをご参照ください。

  2. Prometheus.yml 設定ファイルを編集します。ファイル末尾に次の内容を追加します。remote_read の URL を ステップ 2 で取得したエンドポイントに置き換えてから、ファイルを保存します。

    global:
      scrape_interval: 15s
      evaluation_interval: 15s
    scrape_configs:
      - job_name: 'prometheus'
        static_configs:
        - targets: ['localhost:9090']
    remote_read:
      # これを Remote Read エンドポイントに置き換えます。
      - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_read"
        read_recent: true
  3. セルフマネージド Prometheus サービスを再起動します。

ステップ 4:セルフマネージド Prometheus での Alibaba Cloud Prometheus データの表示

  1. ブラウザでセルフマネージド Prometheus にログインします。

    http://localhost:9090
  2. Prometheus ページの上部メニューバーで [Graph] をクリックします。

  3. [Graph] タブの検索ボックスにクエリ式を入力し、検索ボックスの右側にある [Execute] をクリックします。

    たとえば、特定の IP アドレスの CPU 使用率をクエリします。

    100 - (avg by (instance) (rate(node_cpu_seconds_total{instance="your_IP_address:9100", mode="idle"}[5m])) * 100)

よくある質問

Remote Read の設定後にクエリがデータを返さず、エラーも報告されない

設定後にクエリがデータを返さない場合は、ローカルの Prometheus 設定に external_labels が含まれているかどうかを確認してください。この設定により、Remote Read が期待されるデータをクエリできなくなる可能性があります。次のコマンドを実行して Prometheus 設定ファイル内の external_labels 設定を表示し、cloud および cluster ラベルが正しく設定されていることを確認します。

[xxx prometheus]# head prometheus.yml
global:
  scrape_interval: 60s
  evaluation_interval: 15s
  external_labels:
    cloud: xxx
    cluster: xxx