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

Alibaba Cloud Service Mesh:自社管理の Prometheus インスタンスを使用した ASM インスタンスのモニタリング

最終更新日:Jan 07, 2026

Prometheus は、クラウドネイティブアプリケーション向けのオープンソースのモニタリングツールです。このトピックでは、自社管理の Prometheus インスタンスを Alibaba Cloud Service Mesh (ASM) と統合してメッシュをモニタリングする方法について説明します。Alibaba Cloud の Container Service for Kubernetes (ACK) のオープンソースである ack-prometheus-operator を例として使用します。

前提条件

ack-prometheus-operator のインストール

このトピックでは、ACK のオープンソースである ack-prometheus-operator を構成例として使用します。別の方法で自社管理の Prometheus インスタンスをクラスターにインストールする場合は、additionalScrapeConfigs フィールドの内容を Prometheus インスタンスの scrape 設定に追加してください。scrape 設定の詳細については、「prometheus_scrape_config」をご参照ください。

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

  2. クラスター ページで、対象のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[アプリケーション] > [Helm] を選択します。

  3. Helm ページで ack-prometheus-operator を見つけ、[操作] 列の 更新 をクリックします。

  4. リリースのアップデート パネルで、YAML テキストボックス内の additionalScrapeConfigs フィールドを変更し、OK をクリックします。

    YAML ファイルは長いため、Ctrl+F を押して additionalScrapeConfigs フィールドを検索できます。変更後の additionalScrapeConfigs フィールドは次のとおりです:

    additionalScrapeConfigs:
    # Scrape config for envoy stats
    - job_name: 'envoy-stats'
      metrics_path: /stats/prometheus
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels: [__meta_kubernetes_pod_container_port_name]
        action: keep
        regex: '.*-envoy-prom'
      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]
        action: replace
        regex: ([^:]+)(?::\d+)?;(\d+)
        replacement: $1:15090
        target_label: __address__
      - action: labeldrop
        regex: __meta_kubernetes_pod_label_(.+)
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: pod_name

モニタリングデータの生成

データプレーン上のサービスにリクエストを送信します。この例では、Bookinfo アプリケーションを使用します。詳細については、「クイックスタート」をご参照ください。Bookinfo の Productpage ページに移動します。ページを複数回更新します。监控数据

結果の確認

Envoy プロキシが指定されたメトリックを収集しているかの確認

次のコマンドを実行します。出力にモニタリングデータが含まれている場合、Envoy プロキシは指定されたメトリックを収集しています。出力が空の場合、Envoy プロキシは指定されたメトリックを収集していません。

details=$(kubectl get pod -l app=details -o jsonpath={.items..metadata.name})
kubectl exec $details -c istio-proxy -- curl -s localhost:15090/stats/prometheus |grep istio

Prometheus によってモニタリングされるメトリックの表示

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

  2. クラスター ページで、対象のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[ネットワーク] > [サービス] を選択します。

  3. サービス ページで Prometheus を見つけ、外部 IP アドレス (External IP) 列にあるその IP アドレスをクリックします。

  4. [Prometheus] ページで、検索ボックスに istio_requests_total と入力し、[実行] をクリックします。Prometheus によってモニタリングされるメトリックが表示されます。peomethus

メトリックデータの Grafana ダッシュボードの表示

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

  2. クラスター ページで、対象のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、[ネットワーク] > [サービス] を選択します。

  3. サービス ページで Grafana を見つけ、外部 IP アドレス (External IP) 列にあるその IP アドレスをクリックします。

  4. Grafana ページで、左上隅にある [Istio Workload Dashboard] を選択します。表示される Grafana ダッシュボードは次の図のとおりです。3