Alibaba Cloud Managed Service for Prometheus は、HTTP API URL を提供します。 HTTP API URL を使用して、Prometheus インスタンスのモニタリングデータをセルフマネージド Grafana システムにインポートしたり、Prometheus API を使用してカスタム開発用のモニタリングデータを取得したりできます。
前提条件
Prometheus インスタンスが作成されていること。
手順 1:HTTP API URL を取得する
Cloud Monitor 2.0 コンソール にログインし、ワークスペースを選択します。 左側のナビゲーションウィンドウで、 を選択します。
[インスタンス] ページで、インスタンスの [アクション] 列にある [設定] をクリックします。
[設定] タブで、パブリックまたはインターナル HTTP API URL をコピーします。

オプション: Prometheus V1 インスタンスの場合は、[トークンの生成] をクリックして認証トークンを取得します。 このトークンは、モニタリングデータが Grafana にインポートされるときのデータセキュリティを確保するために使用されます。
重要V1 インスタンス:認証トークンが生成された後、インスタンスをデータソースとして Grafana システムに追加するときにトークンを指定する必要があります。 そうしないと、Prometheus インスタンスからモニタリングデータを読み取ることができません。
V2 インスタンス:デフォルトでは、データアクセスには AccessKey ID と AccessKey シークレットが必要です。また、AccessKey に関連付けられた RAM ユーザーに AliyunPrometheusMetricReadAccess または AliyunCloudMonitorFullAccess 権限が付与されている必要があります。
手順 2:セルフマネージド Grafana システムに HTTP API URL を追加する
Grafana システムでデータソースを設定します。
Grafana システムに管理者としてログインします。
ページの左上隅にある
アイコンをクリックします。左側のナビゲーションウィンドウで、 を選択します。
説明このメニューは管理者のみが表示できます。
[データソース] タブで、[+ データソースを追加] をクリックします。
[データソースを追加] ページで、[Prometheus] をクリックします。
[設定] タブで、[名前] フィールドにダッシュボード名を入力し、手順 1:Prometheus サーバーの URL を取得する で取得した Prometheus サーバー URL を HTTP セクションの [Prometheus サーバー URL] フィールドに入力します。
セキュリティ強化の設定を行います。
V2 インスタンス
[Basic 認証] を有効にし、[ユーザー] に AccessKey ID を、[パスワード] に AccessKey シークレットを設定します。

(オプション) V1 インスタンス
[+ ヘッダーを追加] をクリックします。 [カスタム HTTP ヘッダー] セクションで、[+ ヘッダーを追加] をクリックします。 [ヘッダー] を [認証] に設定し、[値] を 手順 1:HTTP API URL を取得する で取得した認証トークンに設定します。

[保存してテスト] をクリックします。
結果を確認します。
Grafana システムにログインします。
ページの左上隅にある
アイコンをクリックし、左側のナビゲーションウィンドウで [ダッシュボード] をクリックします。[ダッシュボード] ページで、[新規] をクリックし、ドロップダウンメニューから [新しいダッシュボード] をクリックします。
[+ 可視化を追加] をクリックします。
[データソースを選択] ページで、カスタムデータソースを選択します。
[パネルの編集] ページで、[クエリ] タブの [A] セクションにある [メトリック] フィールドと [ラベルフィルター] フィールドにメトリック名と値を入力し、[クエリを実行] をクリックします。
メトリックのチャートが表示された場合は、Prometheus データソースが追加されています。 チャートが表示されない場合は、Prometheus データソースの追加に失敗しています。 API URL またはトークンが有効かどうか、またデータソースにモニタリングデータがあるかどうかを確認してください。

手順 3:Managed Service for Prometheus のモニタリングデータを取得する
サンプルリクエストは、Managed Service for Prometheus のデータを呼び出す方法を示しています。 HTTP API を使用して Managed Service for Prometheus のデータを取得する方法については、Prometheus HTTP API を参照してください。
V2 インスタンス
GET {HTTP API}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: Basic <base64-encoded-username:password>
{
"query":"arms_prometheus_target_interval_length_seconds_sum",
"time":"1635302655",
"timeout":"1000"
}{HTTP API}は、手順 1:HTTP API URL を取得する で取得した HTTP API URL に置き換えます。ユーザー名とパスワードを、対応する AccessKey ID と AccessKey シークレットに置き換えます。
V1 インスタンス
GET {HTTP API}/api/v1/query
Accept: application/json
Content-Type: application/json
Authorization: {Token}
{
"query":"arms_prometheus_target_interval_length_seconds_sum",
"time":"1635302655",
"timeout":"1000"
}{HTTP API} と{Token} は、手順 1:HTTP API URL を取得する で取得した HTTP API URL と認証トークンに置き換えます。
サンプルレスポンス: