Managed Service for Prometheus は標準のリモート読み取りインターフェイスを提供します。これにより、オープンソースの Prometheus が Managed Service for Prometheus からモニタリングデータをリモートで読み取ることができます。このトピックでは、リモート読み取り URL を使用して Managed Service for Prometheus からモニタリングデータを読み取るように、オープンソース Prometheus を構成する方法について説明します。
Prometheus リモート読み取りモードでは、大量の未加工の時系列データをローカル コンピュート エンジンにプルする必要があるため、制限があります。
高い運用オーバーヘッド: ローカル Prometheus エンジンのメンテナンスにより、マシンコストが増加します。
ネットワークレイテンシ: 大量のデータ転送は複数のデバイスを経由するため、レイテンシが増加します。
サービスの制約: リモート読み取りのしきい値は、大規模では簡単に超過します。
代わりに、Managed Service for Prometheus の HTTP API クエリプロトコルを使用してください。これには次の利点があります。
ローカル計算と比較して数十倍のパフォーマンス向上を実現
HTTP リクエストによる直接クエリをサポート
ネイティブの Grafana 接続 を有効化
制限事項
リモート読み取りインターフェイスは HTTP/2 をサポートしていません。
前提条件
Managed Service for Prometheus インスタンスが 作成されていること。
ステップ 1: (オプション) Cloud Monitor に対する読み取りおよび書き込み権限を RAM ユーザーに付与する
Prometheus インスタンスが Alibaba Cloud アカウントを使用して作成されており、Resource Access Management (RAM) ユーザーの AccessKey ID と AccessKey シークレットを使用してリモートの読み取りおよび書き込み操作を実行する場合、最初に Cloud Monitor に対する読み取りおよび書き込み権限を RAM ユーザーに付与する必要があります。
RAM 管理者または Alibaba Cloud アカウントで RAM コンソール にログインします。 左側のナビゲーションウィンドウで、 を選択します。
[権限] ページで、[権限付与] をクリックします。 表示されるパネルで、次の表に示すパラメータを設定します。
パラメータ
説明
[リソーススコープ]
ビジネス要件に基づいてこのパラメータを設定します。
[プリンシパル]
RAM ユーザー。
[ポリシー]
ビジネス要件に基づいて、次のポリシーのいずれかを RAM ユーザーにアタッチできます。
AliyunCloudMonitorFullAccess: Cloud Monitor に対するフルアクセス権限を提供します。このポリシーを RAM ユーザーにアタッチすると、RAM ユーザーは Cloud Monitor で管理されているインスタンスに対するフルアクセス権限を持ちます。たとえば、RAM ユーザーはインスタンスの表示、変更、削除を行うことができます。AliyunCloudMonitorReadOnlyAccess: Cloud Monitor に対する読み取り権限を提供します。このポリシーを RAM ユーザーにアタッチすると、RAM ユーザーは Cloud Monitor で管理されているインスタンスを表示する権限を持ちます。RAM ユーザーは、インスタンスの変更、削除、またはその他の操作を実行する権限を持ちません。
[権限付与] をクリックし、[閉じる] をクリックします。
ステップ 2: リモート読み取り URL を取得する
Cloud Monitor コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。 [インスタンス] ページが表示されます。
上部のナビゲーションバーで、Prometheus インスタンスが存在するリージョンを選択します。 [インスタンス] ページで、管理するインスタンスを見つけ、[アクション] 列の [設定] をクリックします。
[設定] タブで、インターネットまたは内部ネットワーク経由でデータを読み取るためのリモート読み取り URL をコピーします。

ステップ 3: オープンソース Prometheus を構成する
オープンソース Prometheus をインストールします。詳細については、「DOWNLOAD」をご参照ください。
Prometheus.yml という名前の構成ファイルを開き、ファイルの末尾に次のコンテンツを追加し、
remote_readの下の URL を ステップ 2 で取得したリモート読み取り URL に置き換えて、ファイルを保存します。global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] remote_read: # 取得したリモート読み取り URL に置き換えます。 - url: "http://ts-xxxxxxxxxxxx.hitsdb.rds.aliyuncs.com:3242/api/prom_read" read_recent: trueオープンソース Prometheus を再起動します。
ステップ 4: 取得したモニタリングデータをオープンソース Prometheus で表示する
Web ブラウザを使用して、オープンソース Prometheus にログインします。
http://localhost:9090[Prometheus] ページで、上部のナビゲーションバーの [グラフ] をクリックします。
[グラフ] タブで、検索ボックスに SQL 文を入力し、検索ボックスの右側にある [実行] をクリックします。
たとえば、次の SQL 文を入力して、指定した IP アドレスを持つインスタンスの CPU 使用率をクエリできます。
100 - (avg by (instance) (rate(node_cpu_seconds_total{instance="IP address:9100", mode="idle"}[5m])) * 100)