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

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

最終更新日:Nov 09, 2025

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

コンソールで Prometheus モニタリングデータをクエリする

Managed Service for Prometheus

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

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

  2. 左側のナビゲーションウィンドウで、[Managed Service For Prometheus] > [インスタンス] を選択します。

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

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

  5. [Metric] の横にあるテキストボックスに PromQL クエリ文を入力し、[Run Query] をクリックします。

オープンソース Prometheus

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

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

  2. クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、[ネットワーク] > [サービス] を選択します。

  3. [サービス] ページで、[ack-prometheus-operator] がデプロイされている名前空間 (デフォルトでは [monitoring]) を選択します。[ack-prometheus-operator-prometheus] を見つけ、[アクション] 列の [更新] をクリックします。

  4. [サービスの更新] ダイアログボックスで、[サービスタイプ][SLB] に設定します。[リソースの作成] を選択し、[アクセス方法][パブリックアクセス] に設定します。[課金方法] パラメーターに [従量課金 (CU 単位)] を選択し、必要に応じて他のパラメーターを設定して、[OK] をクリックします。

    詳細は、「Classic Load Balancer (CLB) の課金」をご参照ください。
  5. 更新が完了したら、その外部 IP アドレスをコピーし、ブラウザのアドレスバーに IP アドレス:ポート番号 を入力して Prometheus にアクセスします。例: 47.XX.XX.12:9090

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

API を使用して Prometheus モニタリングデータをクエリする

Managed Service for Prometheus

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

  2. 左側のナビゲーションウィンドウで、[Managed Service For Prometheus] > [インスタンス] を選択します。

  3. [インスタンス] ページの上部で、Prometheus インスタンスが配置されているリージョンを選択します。ターゲットクラスターの [アクション] 列で、[設定] をクリックします。

  4. [設定] ページの [HTTP API URL (Grafana Read URL)] セクションで、必要に応じてパブリックまたは内部 HTTP API URL をコピーします。

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

    重要
  6. HTTP API を呼び出して、Managed Service for Prometheus からモニタリングデータをクエリします。

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

    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"
    
    }

    V2

    GET {HTTP API}/api/v1/query
    
    Accept: application/json
    Content-Type: application/json
    Authorization: Basic <base64Encode(<accessKey:secretKey>)>
    
    {
      "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 にアクセスする場合は、ack-prometheus-operator サービスに SLB インスタンスをアタッチする必要があります。これを行うには、次のステップを実行します。

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

    2. クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、[ネットワーク] > [サービス] を選択します。

    3. [サービス] ページの上部で、[名前空間][monitoring] に設定します。次に、[ack-prometheus-operator-prometheus] を見つけ、[アクション] 列の [更新] をクリックします。

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

      設定項目

      設定

      サービスタイプ

      [サービスタイプ][Server Load Balancer (LoadBalancer)] に設定し、アクセス方法を [パブリックアクセス] に設定します。

      ポートマッピング

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

    5. [サービス] ページで、[ack-prometheus-operator-prometheus] サービスをクリックします。[基本情報] セクションで、[外部 IP] を取得します。外部 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 を使用したアラートルールの設定に関するベストプラクティス」をご参照ください。