集成自建Prometheus實(shí)現(xiàn)網(wǎng)格監(jiān)控
Prometheus是一款面向云原生應(yīng)用程序的開(kāi)源監(jiān)控工具。本文介紹如何在ASM集成自建Prometheus實(shí)現(xiàn)網(wǎng)格監(jiān)控。
前提條件
已創(chuàng)建ACK集群,詳情請(qǐng)參見(jiàn)創(chuàng)建Kubernetes托管版集群。
已創(chuàng)建ASM實(shí)例,詳情請(qǐng)參見(jiàn)創(chuàng)建ASM實(shí)例。
已在ACK集群中創(chuàng)建Prometheus實(shí)例和Grafana示例。具體操作,請(qǐng)參見(jiàn)開(kāi)源Prometheus監(jiān)控。
步驟一:配置網(wǎng)格數(shù)據(jù)指標(biāo)
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在Helm頁(yè)面的操作列,單擊ack-prometheus-operator對(duì)應(yīng)的更新。
在更新發(fā)布面板的YAML文本框中,修改
additionalScrapeConfigs
字段,然后單擊確定。YAML文件較長(zhǎng),您可以使用快捷鍵Ctrl+F搜索
additionalScrapeConfigs
字段進(jìn)行修改。修改后的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
步驟二:開(kāi)啟Prometheus
具體操作,請(qǐng)參見(jiàn)將監(jiān)控指標(biāo)采集到可觀測(cè)監(jiān)控Prometheus版。
步驟三:產(chǎn)生監(jiān)控?cái)?shù)據(jù)
請(qǐng)求數(shù)據(jù)平面的服務(wù),此處以Bookinfo為例,詳細(xì)介紹請(qǐng)參見(jiàn)入門(mén)概述。進(jìn)入Productpage頁(yè)面,多次刷新頁(yè)面,以產(chǎn)生監(jiān)控?cái)?shù)據(jù)。
結(jié)果驗(yàn)證
驗(yàn)證Envoy是否采集監(jiān)控指標(biāo)數(shù)據(jù)。
執(zhí)行以下命令,返回監(jiān)控指標(biāo)數(shù)據(jù),表示Envoy采集監(jiān)控指標(biāo)數(shù)據(jù)。若沒(méi)有數(shù)據(jù),則Envoy沒(méi)有在采集監(jiān)控指標(biāo)數(shù)據(jù)。
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網(wǎng)格監(jiān)控指標(biāo)數(shù)據(jù)
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在服務(wù)頁(yè)面找到Prometheus,單擊Prometheus對(duì)應(yīng)的External IP。
在Prometheus頁(yè)面輸入istio_requests_total,單擊Execute,顯示以下頁(yè)面所示結(jié)果。
查看Grafana網(wǎng)格監(jiān)控指標(biāo)數(shù)據(jù)
登錄容器服務(wù)管理控制臺(tái),在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁(yè)面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在服務(wù)頁(yè)面搜索找到Grafana,單擊Grafana對(duì)應(yīng)的External IP。
在Grafana頁(yè)面選擇Istio Workload Dashboard,顯示以下頁(yè)面所示結(jié)果。