全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Memantau instans ASM menggunakan instans Prometheus yang dikelola sendiri

更新时间:Jan 07, 2026

Prometheus adalah alat pemantauan open source untuk aplikasi cloud-native. Topik ini menjelaskan cara mengintegrasikan instans Prometheus yang dikelola sendiri dengan Alibaba Cloud Service Mesh (ASM) untuk memantau mesh. Contoh yang digunakan adalah ack-prometheus-operator open source dari Alibaba Cloud Container Service for Kubernetes (ACK).

Prasyarat

Instal ack-prometheus-operator

Topik ini menggunakan ack-prometheus-operator open source dari ACK sebagai contoh konfigurasi. Jika Anda menginstal instans Prometheus yang dikelola sendiri di kluster menggunakan metode lain, tambahkan konten bidang additionalScrapeConfigs ke konfigurasi scrape instans Prometheus tersebut. Untuk informasi selengkapnya tentang konfigurasi scrape, lihat prometheus_scrape_config.

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel navigasi sebelah kiri, pilih Applications > Helm.

  3. Pada halaman Helm, temukan ack-prometheus-operator lalu klik Update di kolom Actions.

  4. Pada panel Update Release, ubah bidang additionalScrapeConfigs di kotak teks YAML, lalu klik OK.

    File YAML cukup panjang. Anda dapat menekan Ctrl+F untuk mencari bidang additionalScrapeConfigs. Berikut adalah bidang additionalScrapeConfigs yang telah dimodifikasi:

    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

Hasilkan data pemantauan

Kirim permintaan ke layanan pada bidang data. Pada contoh ini, digunakan aplikasi Bookinfo. Untuk informasi selengkapnya, lihat Getting started. Buka halaman Productpage dari Bookinfo dan segarkan halaman tersebut beberapa kali. 监控数据

Verifikasi hasil

Periksa apakah proxy Envoy mengumpulkan metrik yang ditentukan

Jalankan perintah berikut. Jika output berisi data pemantauan, berarti proxy Envoy sedang mengumpulkan metrik yang ditentukan. Jika output kosong, berarti proxy Envoy tidak mengumpulkan metrik tersebut.

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

Lihat metrik yang dipantau oleh Prometheus

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel navigasi kiri, pilih Network > Services.

  3. Pada halaman Services, temukan Prometheus lalu klik alamat IP-nya di kolom External IP.

  4. Pada halaman Prometheus, masukkan istio_requests_total di kotak pencarian lalu klik Execute. Metrik yang dipantau oleh Prometheus akan ditampilkan. peomethus

Lihat dasbor Grafana dari data metrik

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel navigasi kiri, pilih Network > Services.

  3. Pada halaman Services, temukan Grafana, lalu klik alamat IP-nya di kolom External IP.

  4. Pada halaman Grafana, pilih Istio Workload Dashboard di pojok kiri atas. Gambar berikut menunjukkan dasbor Grafana yang ditampilkan. 3