Alibaba Cloud Managed Service for Prometheus は、HTTP API URL を提供します。 HTTP API URL を使用して、Prometheus インスタンスのモニタリングデータをセルフマネージド Grafana システムにインポートしたり、Prometheus API を使用してカスタム開発用のモニタリングデータを取得したりできます。
前提条件
Prometheus インスタンスが作成されていること。詳細については、以下のトピックをご参照ください。
手順 1:HTTP API URL を取得する
CloudMonitor コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。 [インスタンス] ページが表示されます。
上部のナビゲーションバーで、Prometheus インスタンスがデプロイされているリージョンを選択し、Prometheus インスタンスを見つけ、[アクション] 列の [設定] をクリックします。
[設定] タブで、パブリックまたはインターナル HTTP API URL をコピーします。
オプション。Prometheus V1 インスタンスの場合は、[トークンの生成] をクリックして認証トークンを取得します。このトークンは、モニタリングデータが Grafana にインポートされる際のデータセキュリティを確保するために使用されます。
重要Prometheus V1 インスタンスの場合:認証トークンが生成された後、Prometheus インスタンスをデータソースとして Grafana システムに追加する際に、トークンを指定する必要があります。指定しないと、Prometheus インスタンスからモニタリングデータを読み取ることができません。
Prometheus V2 インスタンスの場合:アカウントの AccessKey ID と AccessKey シークレットを使用してデータにアクセスする必要があります。
手順 2:セルフマネージド Grafana システムに HTTP API URL を追加する
Grafana システムでデータソースを設定します。
Grafana システムに管理者としてログインします。
ページの左上隅にある
アイコンをクリックします。
左側のナビゲーションウィンドウで、
を選択します。説明このメニューは管理者のみが表示できます。
[データソース] タブで、[+ データソースを追加] をクリックします。
[データソースを追加] ページで、[Prometheus] をクリックします。
[設定] タブで、[名前] フィールドにダッシュボード名を入力し、HTTP セクションの [Prometheus サーバー URL] フィールドに、手順 1:Prometheus サーバーの URL を取得する で取得した Prometheus サーバー URL を入力します。
セキュリティ強化を設定します。
Prometheus V1(オプション)
トークンを生成した場合は、[カスタム HTTP ヘッダー] セクションで [+ ヘッダーを追加] をクリックし、[ヘッダー] パラメーターを [認証] に設定し、[値] パラメーターを 手順 1:HTTP API URL を取得する で生成されたトークンに設定します。
Prometheus V2
[Basic 認証] をオンにします。 [ユーザー] パラメーターに AccessKey ID を設定し、[パスワード] パラメーターに AccessKey シークレットを設定します。
[保存 & テスト] をクリックします。
結果を確認します。
Grafana システムにログインします。
ページの左上隅にある
アイコンをクリックし、左側のナビゲーションウィンドウで [ダッシュボード] をクリックします。
[ダッシュボード] ページで、[新規] をクリックし、ドロップダウンメニューから [新しいダッシュボード] をクリックします。
[+ 可視化を追加] をクリックします。
[データソースの選択] ページで、カスタムデータソースを選択します。
[パネルの編集] ページで、[クエリ] タブの [A] セクションにある [メトリック] フィールドと [ラベルフィルター] フィールドにメトリック名と値を入力し、[クエリの実行] をクリックします。
メトリックのチャートが表示された場合は、Prometheus データソースが追加されています。チャートが表示されない場合は、Prometheus データソースの追加に失敗しています。API URL またはトークンが有効かどうか、またデータソースにモニタリングデータがあるかどうかを確認してください。
手順 3:Managed Service for Prometheus のモニタリングデータを取得する
サンプルリクエストは、Managed Service for Prometheus のデータを呼び出す方法を示しています。HTTP API を使用して Managed Service for Prometheus のデータを取得する方法については、「Prometheus HTTP API」をご参照ください。
Prometheus 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}
を実際の HTTP API URL に置き換え、{Token}
を実際の認証トークンに置き換えます。詳細については、「手順 1:HTTP API URL を取得する」をご参照ください。
Prometheus 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 に置き換えます。base64-encoded-username
を AccessKey ID に、password
を AccessKey シークレットに置き換えます。
サンプルレスポンス: