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

CloudMonitor:セルフマネージド Grafana システムに Prometheus インスタンスを接続するための HTTP API URL の使用方法

最終更新日:Apr 18, 2025

Alibaba Cloud Managed Service for Prometheus は、HTTP API URL を提供します。 HTTP API URL を使用して、Prometheus インスタンスのモニタリングデータをセルフマネージド Grafana システムにインポートしたり、Prometheus API を使用してカスタム開発用のモニタリングデータを取得したりできます。

前提条件

Prometheus インスタンスが作成されていること。詳細については、以下のトピックをご参照ください。

手順 1:HTTP API URL を取得する

  1. CloudMonitor コンソール にログインします。左側のナビゲーションウィンドウで、[Prometheus] > [インスタンス] を選択します。 [インスタンス] ページが表示されます。

  2. 上部のナビゲーションバーで、Prometheus インスタンスがデプロイされているリージョンを選択し、Prometheus インスタンスを見つけ、[アクション] 列の [設定] をクリックします。

  3. [設定] タブで、パブリックまたはインターナル HTTP API URL をコピーします。

    image

  4. オプション。Prometheus V1 インスタンスの場合は、[トークンの生成] をクリックして認証トークンを取得します。このトークンは、モニタリングデータが Grafana にインポートされる際のデータセキュリティを確保するために使用されます。

    重要
    • Prometheus V1 インスタンスの場合:認証トークンが生成された後、Prometheus インスタンスをデータソースとして Grafana システムに追加する際に、トークンを指定する必要があります。指定しないと、Prometheus インスタンスからモニタリングデータを読み取ることができません。

    • Prometheus V2 インスタンスの場合:アカウントの AccessKey ID と AccessKey シークレットを使用してデータにアクセスする必要があります。

手順 2:セルフマネージド Grafana システムに HTTP API URL を追加する

  1. Grafana システムでデータソースを設定します。

    1. Grafana システムに管理者としてログインします。

    2. ページの左上隅にある image アイコンをクリックします。

    3. 左側のナビゲーションウィンドウで、[構成] > [データソース] を選択します。

      説明

      このメニューは管理者のみが表示できます。

    4. [データソース] タブで、[+ データソースを追加] をクリックします。

    5. [データソースを追加] ページで、[Prometheus] をクリックします。

    6. [設定] タブで、[名前] フィールドにダッシュボード名を入力し、HTTP セクションの [Prometheus サーバー URL] フィールドに、手順 1:Prometheus サーバーの URL を取得する で取得した Prometheus サーバー URL を入力します。

    7. セキュリティ強化を設定します。

      Prometheus V1(オプション

      トークンを生成した場合は、[カスタム HTTP ヘッダー] セクションで [+ ヘッダーを追加] をクリックし、[ヘッダー] パラメーターを [認証] に設定し、[値] パラメーターを 手順 1:HTTP API URL を取得する で生成されたトークンに設定します。

      image

      Prometheus V2

      [Basic 認証] をオンにします。 [ユーザー] パラメーターに AccessKey ID を設定し、[パスワード] パラメーターに AccessKey シークレットを設定します。

      image

  2. [保存 & テスト] をクリックします。

  3. 結果を確認します。

    1. Grafana システムにログインします。

    2. ページの左上隅にある image アイコンをクリックし、左側のナビゲーションウィンドウで [ダッシュボード] をクリックします。

    3. [ダッシュボード] ページで、[新規] をクリックし、ドロップダウンメニューから [新しいダッシュボード] をクリックします。

    4. [+ 可視化を追加] をクリックします。

    5. [データソースの選択] ページで、カスタムデータソースを選択します。

    6. [パネルの編集] ページで、[クエリ] タブの [A] セクションにある [メトリック] フィールドと [ラベルフィルター] フィールドにメトリック名と値を入力し、[クエリの実行] をクリックします。

      メトリックのチャートが表示された場合は、Prometheus データソースが追加されています。チャートが表示されない場合は、Prometheus データソースの追加に失敗しています。API URL またはトークンが有効かどうか、またデータソースにモニタリングデータがあるかどうかを確認してください。

      image

手順 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 シークレットに置き換えます。

サンプルレスポンス:

サンプルレスポンスを表示

{
    "status": "success", // ステータス
    "data": {
        "resultType": "vector", // 結果タイプ
        "result": [ // 結果
            {
                "metric": { // メトリック
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum", // メトリック名
                    "instance": "localhost:9335", // インスタンス
                    "interval": "15s", // 間隔
                    "job": "_arms-prom/kubelet/1" // ジョブ
                },
                "value": [ // 値
                    1635302655, // タイムスタンプ
                    "146655.24420603***" // 値
                ]
            },
            {
                "metric": { // メトリック
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum", // メトリック名
                    "instance": "localhost:9335", // インスタンス
                    "interval": "30s", // 間隔
                    "job": "_arms-prom/kubelet/1" // ジョブ
                },
                "value": [ // 値
                    1635302655, // タイムスタンプ
                    "879810.747346***" // 値
                ]
            },
            {
                "metric": { // メトリック
                    "__name__": "arms_prometheus_target_interval_length_seconds_sum", // メトリック名
                    "instance": "localhost:9335", // インスタンス
                    "interval": "20s", // 間隔
                    "job": "_arms-prom/kubelet/1" // ジョブ
                },
                "value": [ // 値
                    1635302655, // タイムスタンプ
                    "73320.13578499***" // 値
                ]
            }
        ]
    }