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

Alibaba Cloud Service Mesh:自己管理型 Prometheus と連携したメッシュ監視

最終更新日:Jun 22, 2026

このトピックでは、Container Service for Kubernetes (ACK) クラスターのオープンソースコンポーネントである ack-prometheus-operator を例に、自己管理型 Prometheus を Alibaba Cloud Service Mesh (ASM) インスタンスと連携させてメッシュ監視を行う方法について説明します。

前提条件

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

このトピックでは、ACK クラスターのオープンソースコンポーネントである ack-prometheus-operator を例に説明します。他の方法でクラスターに自己管理型 Prometheus をインストールする場合は、additionalScrapeConfigs の内容を Prometheus インスタンスのスクレイプ設定に追加する必要があります。スクレイプ設定の詳細については、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 アプリケーションの製品ページに移動し、数回リフレッシュしてメトリックを生成します。ページに、書籍 The Comedy of Errors の詳細として 書籍の詳細 (タイプ、ページ数、出版社、言語、ISBN など) と 書籍レビュー (Reviewer1 による 5 つ星レビューと Reviewer2 による 4 つ星レビュー) が表示された場合、サンプルアプリケーションは正しく実行され、メトリックを生成しています。

結果の検証

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) をクリックします。

  4. Prometheus ページで、式入力ボックスに istio_requests_total を入力し、[実行] をクリックします。 結果テーブルには 2 つのレコードが含まれる場合があります。1 つは response_code503 (値: 1)、source_appreviewssource_versionv2destination_serviceratings.bookinfo.svc.cluster.local で、もう 1 つは response_code200 (値: 19)、source_appreviewssource_versionv2destination_appratingsdestination_versionv1 のレコードです。

Grafana でのメッシュメトリクスの表示

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

  2. クラスターリスト ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、ネットワーク > サービス をクリックします。

  3. サービス ページで、Grafana を検索し、その 外部 IP アドレス (External IP) をクリックします。

  4. Grafana ページで、[Istio ワークロードダッシュボード] を選択します。3