Topik ini menjelaskan cara mengintegrasikan Prometheus yang dikelola sendiri dengan instans ASM untuk pemantauan mesh, menggunakan ack-prometheus-operator—komponen open source untuk kluster ACK—sebagai contoh.
Prasyarat
-
Kluster ACK tersedia. Untuk informasi selengkapnya, lihat Create an ACK managed cluster.
-
Instans ASM tersedia. Untuk informasi selengkapnya, lihat Create an ASM instance. Instans Prometheus dan Grafana telah diinstal di kluster ACK. Untuk informasi selengkapnya, lihat Open source Prometheus monitoring.
Instal ack-prometheus-operator
Topik ini menggunakan ack-prometheus-operator, komponen open source untuk kluster ACK, sebagai contoh. Jika Anda menginstal Prometheus yang dikelola sendiri di kluster Anda dengan metode lain, tambahkan konten additionalScrapeConfigs ke konfigurasi scrape instans Prometheus Anda. Untuk informasi selengkapnya tentang konfigurasi scrape, lihat prometheus_scrape_config.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Helm, temukan ack-prometheus-operator dan klik Update di kolom Actions.
-
Di panel Update Release, modifikasi bidang
additionalScrapeConfigsdi kotak teks YAML, lalu klik OK.File YAML cukup panjang. Tekan Ctrl+F untuk mencari bidang
additionalScrapeConfigs. BidangadditionalScrapeConfigsyang telah dimodifikasi adalah sebagai berikut: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 metrik
Kirim permintaan ke layanan pada bidang data. Contoh ini menggunakan aplikasi Bookinfo. Untuk informasi selengkapnya, lihat getting started. Buka halaman produk aplikasi Bookinfo dan refresh beberapa kali untuk menghasilkan metrik. Jika halaman menampilkan detail buku The Comedy of Errors, termasuk Book Details (seperti Type, Pages, Publisher, Language, dan ISBN) serta Book Reviews (ulasan bintang lima dari Reviewer1 dan ulasan bintang empat dari Reviewer2), maka aplikasi contoh berjalan dengan benar dan menghasilkan metrik.
Verifikasi hasil
Verifikasi pengumpulan metrik Envoy
Jalankan perintah berikut. Jika perintah tersebut mengembalikan metrik, berarti Envoy sedang mengumpulkannya. Respons kosong menunjukkan bahwa pengumpulan tidak berfungsi.
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 mesh di Prometheus
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Services, temukan layanan Prometheus dan klik External IP-nya.
-
Pada halaman Prometheus, masukkan
istio_requests_totaldi kotak input ekspresi dan klik Execute. Tabel hasil mungkin mencakup dua catatan: satu denganresponse_codebernilai503(nilai: 1),source_appbernilaireviews,source_versionbernilaiv2, dandestination_servicebernilairatings.bookinfo.svc.cluster.local; serta yang lain denganresponse_codebernilai200(nilai: 19),source_appbernilaireviews,source_versionbernilaiv2,destination_appbernilairatings, dandestination_versionbernilaiv1.
Lihat metrik mesh di Grafana
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
-
Pada halaman Services, cari Grafana dan klik External IP-nya.
-
Pada halaman Grafana, pilih Istio Workload Dashboard.
