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

Container Service for Kubernetes:PromQL を使用した Prometheus モニタリングデータのクエリ

最終更新日:Aug 26, 2026

Prometheus Query Language (PromQL) を使用して Prometheus モニタリングデータをクエリし、アラートルールの正確性と適時性を検証できます。

コンソールでの Prometheus モニタリングデータのクエリ

Managed Service for Prometheus

Managed Service for Prometheus のデプロイと使用の詳細については、「Managed Service for Prometheus への接続と設定」をご参照ください。

  1. ARMS コンソールにログインします。

  2. 左側のナビゲーションペインで、Prometheus 監視 > インスタンスを選択します。

  3. Prometheus 監視 ページの左上隅で、お使いの Container Service for Kubernetes (ACK) クラスターが配置されているリージョンを選択し、ターゲットインスタンスを見つけ、grafana ワークスペース 列の [共有版] をクリックします。

  4. ダッシュボードの左側のナビゲーションペインで、大盘 アイコンをクリックします。左上隅で、[Explore] の右側にあるドロップダウンリストからデータソースを選択します。

  5. [メトリック] の右側のテキストボックスに PromQL クエリを入力し、[クエリの実行] をクリックします。

オープンソース Prometheus

ACK クラスターにオープンソース Prometheus をデプロイする方法の詳細については、「オープンソース Prometheus モニタリング」をご参照ください。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ネットワーク] > [サービス] を選択します。

  3. [サービス] ページで、ack-prometheus-operator がデプロイされている monitoring 名前空間を選択します。ack-prometheus-operator-prometheus の [操作] 列で、 更新 をクリックします。

  4. ダイアログボックスで、[タイプ] を [ロードバランサ (LoadBalancer)] に設定します。 リソースの新規作成 を選択し、 アクセス方式 を [パブリックアクセス] に、 課金方法 を [従量課金 (PayByCLCU)] に設定します。 [OK] をクリックします。

    「CLB 課金の概要」をご参照ください。
  5. 更新後、外部 IP アドレスをコピーします。<外部 IP アドレス>:9090 (例: 47.XX.XX.12:9090) で Prometheus UI を開きます。

  6. Prometheus コンソールで、[グラフ] タブをクリックします。テキストボックスに PromQL クエリを入力し、[実行] をクリックします。

API によるモニタリングデータのクエリ

Managed Service for Prometheus

  1. にログインします。 ARMSコンソールを使用します。

  2. 左側のナビゲーションウィンドウで、Prometheusのマネージドサービス > インスタンス.

  3. インスタンス ページの上部で、Prometheus インスタンスが配置されているリージョンを選択します。目的のインスタンスを見つけ、設定 を Actions 列でクリックします。

  4. 設定 ページにある HTTP API アドレス (Grafana 読み取りアドレス) セクションで、パブリックまたは内部 HTTP API URL をコピーします。

  5. V1 Prometheus インスタンスの場合、Grafana でのデータ読み取りのセキュリティを向上させるには、[トークンを生成] をクリックして Prometheus インスタンスの認証トークンを取得します。

    重要
    • V1 インスタンス:トークンを生成した後、Grafana でデータソースを追加する際にそのトークンを設定する必要があります。そうしないと、Prometheus インスタンスからモニタリングデータを読み取ることができません。

    • V2 インスタンス:デフォルトでは、アカウントの AccessKey ID と AccessKey secret を使用してデータにアクセスする必要があります。AccessKey ID を所有する RAM ユーザーには、AliyunPrometheusMetricReadAccess または AliyunCloudMonitorFullAccess のシステム権限が必要です。

  6. HTTP API を使用して Prometheus モニタリングデータをクエリします。

    次のコードはリクエストの例です。HTTP API を使用して Prometheus モニタリングデータを取得する方法の詳細については、「HTTP API」をご参照ください。

    V1

    GET {HTTP API URL}/api/v1/query
    Accept: application/json
    Content-Type: application/json
    Authorization: {Token}
    {
      "query":"arms_prometheus_target_interval_length_seconds_sum",
      "time":"1635302655",
      "timeout":"1000"
    }

    V2

    GET {HTTP API URL}/api/v1/query
    Accept: application/json
    Content-Type: application/json
    Authorization: Basic <base64Encode(<AccessKey ID:AccessKey secret>)>
    {
      "query":"arms_prometheus_target_interval_length_seconds_sum",
      "time":"1635302655",
      "timeout":"1000"
    }

オープンソース Prometheus

  1. HTTP API の URL を取得します。

    クラスター内からオープンソースの Prometheus にアクセスする場合、ack-prometheus-operator のデータリクエストサービスのデフォルト URL は http://ack-prometheus-operator-prometheus.monitoring:9090 です。

    オープンソース Prometheus にパブリックアクセスを使用する場合は、次の手順に従って Classic Load Balancer (CLB) インスタンスを ack-prometheus-operator のデータリクエストサービスにアタッチします。

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ネットワーク] > [サービス] を選択します。

    3. サービス ページの上部で、名前空間 を monitoring に設定します。ack-prometheus-operator-prometheus を探し、更新 を、操作 列でクリックします。

    4. サービスの更新 ダイアログボックスで、次のパラメーターを設定し、更新 をクリックします。

      パラメーター

      設定

      サービスタイプ

      サービスタイプ を ロードバランサ (LoadBalancer) に設定し、アクセス方法を パブリックアクセス に設定します。

      ポートマッピング

      ポート名を入力します。サービスポート を 9090 に、コンテナーポート を 9090 に、プロトコル を TCP に設定します。

    5. サービス ページで、ack-prometheus-operator-prometheus サービスをクリックします。基本情報 セクションで、外部 IP アドレス (External IP) を取得します。これが HTTP API URL です。

  2. HTTP API を使用して Prometheus モニタリングデータをクエリします。

    • 特定の時点のモニタリングデータを取得します。

      GET {HTTP API}/api/v1/query
      
      Headers:
      Accept: application/json
      Content-Type: application/json
      Param:
      {
        "query":"{{PromQL}}",
        "time":"1635302655",
        "timeout":"1000"
      
      }
      • time: データをクエリする時点を指定します。

      • timeout: タイムアウトをミリ秒単位で指定します。クエリがこのタイムアウトを超えた場合、現在の結果が返されます。

    • 時間範囲内のモニタリングデータをクエリします。

      GET {HTTP API}/api/v1/query_range
      
      Headers:
      Accept: application/json
      Content-Type: application/json
      Param:
      {
        "query":"{{PromQL}}",
        "start": 1673946024,
        "end": 1673949624,
        "step": 30
      }
      • start: クエリの開始時刻を指定します。

      • end: クエリの終了時刻を指定します。

      • step: 返されるモニタリングデータのデータポイント間の時間ステップを指定します。

関連ドキュメント

カスタム PromQL クエリを使用してアラートルールを作成するには、「Prometheus を使用したアラートルールの設定に関するベストプラクティス」をご参照ください。