如何通過Grafana大盤展示自訂指標並警示
更新時間:
Copy as MD
可觀測監控 Prometheus 版可以通過Grafana大盤來展示監控資料,並且支援自訂建立Grafana大盤和從Grafana官網匯入大盤兩種方式。本文以阿里雲Container ServiceK8s叢集和阿里雲Container Registry為例,介紹通過自訂Grafana大盤展示監控資料。
前提條件
- 阿里雲Container ServiceK8s叢集已接入可觀測監控 Prometheus 版。如何接入,請參見Prometheus執行個體 for Container Service。
- 已建立阿里雲Container Registry鏡像倉庫。如何建立,請參見步驟二:建立鏡像倉庫。
操作流程
通過可觀測監控 Prometheus 版自訂Grafana大盤的操作流程如下圖所示。
步驟一:上傳應用
將應用製作成鏡像並上傳至阿里雲Container Registry的鏡像倉庫的操作步驟如下:
- 執行以下命令重新編譯模組。
mvn clean install -DskipTests - 執行以下命令構建鏡像。
docker build -t <本地臨時Docker鏡像名稱>:<本地臨時Docker鏡像版本號碼> . --no-cache樣本命令:docker build -t promethues-demo:v0 . --no-cache - 執行以下命令為鏡像打標。
sudo docker tag <本地臨時Docker鏡像名稱>:<本地臨時Docker鏡像版本號碼> <Registry網域名稱>/<命名空間>/<鏡像名稱>:<鏡像版本號碼>樣本命令:sudo docker tag promethues-demo:v0 registry.cn-hangzhou.aliyuncs.com/testnamespace/promethues-demo:v0 - 執行以下命令將鏡像推送至鏡像倉庫。
sudo docker push <Registry網域名稱>/<命名空間>/<鏡像名稱>:<鏡像版本號碼>樣本命令:sudo docker push registry.cn-hangzhou.aliyuncs.com/testnamespace/promethues-demo:v0在Container Registry控制台的鏡像版本頁面顯示上傳的應用鏡像。
步驟二:部署應用
將應用部署至Container ServiceK8s叢集的操作步驟如下:
- 在左側導覽列,選擇叢集。
- 在叢集列表頁面,找到目的地組群,在其右側操作列單擊應用。
- 建立容器組。
- 在左側導覽列,選擇。
- 在無狀態頁面,單擊使用YAML建立資源。
- 在建立頁面的模板代碼框輸入以下內容,然後單擊建立。
apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: prometheus-demo spec: replicas: 2 template: metadata: annotations: prometheus.io/scrape: 'true' prometheus.io/path: '/prometheus-metrics' prometheus.io/port: '8081' labels: app: tomcat spec: containers: - name: tomcat imagePullPolicy: Always image: <Registry網域名稱>/<命名空間>/<鏡像名稱>:<鏡像版本號碼> ports: - containerPort: 8080 name: tomcat-normal - containerPort: 8081 name: tomcat-monitor範例程式碼:apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1 kind: Deployment metadata: name: prometheus-demo labels: app: tomcat spec: replicas: 2 selector: matchLabels: app: tomcat template: metadata: annotations: prometheus.io/scrape: 'true' prometheus.io/path: '/prometheus-metrics' prometheus.io/port: '8081' labels: app: tomcat spec: containers: - name: tomcat imagePullPolicy: Always image: registry.cn-hangzhou.aliyuncs.com/peiyu-test/prometheus-demo:v0 ports: - containerPort: 8080 name: tomcat-normal - containerPort: 8081 name: tomcat-monitor
無狀態頁面顯示建立的容器組。
- 建立服務。
- 在左側導覽列,選擇。
- 在服務頁面,單擊使用YAML建立資源。
- 在建立頁面的模板代碼框輸入以下內容,然後單擊建立。
apiVersion: v1 kind: Service metadata: labels: app: tomcat name: tomcat namespace: default spec: ports: - name: tomcat-normal port: 8080 protocol: TCP targetPort: 8080 - name: tomcat-monitor port: 8081 protocol: TCP targetPort: 8081 type: NodePort selector: app: tomcat
服務頁面顯示建立的服務。
步驟三:配置採集規則
可觀測監控 Prometheus 版會預設監控CPU資訊、記憶體資訊、網路資訊等。如果您需要監控預設資料外的其他資料,例如訂單資訊,那麼需要為應用自訂可觀測監控 Prometheus 版採集規則。
在左側導覽列選擇,進入可觀測監控 Prometheus 版的執行個體列表頁面。
- 單擊目標Prometheus執行個體名稱。
- 為應用配置可觀測監控 Prometheus 版採集規則分為以下兩種情況。
- 需要監控部署在K8s叢集內的應用的業務資料,例如訂單資訊。操作步驟如下:
- 在左側導航樹單擊服务发现,然後單擊配置頁簽。
- 在配置頁面單擊ServiceMonitor頁簽,然後單擊添加ServiceMonitor。
- 在彈出的對話方塊中輸入以下內容,然後單擊确定。
apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: # 填寫一個唯一名稱 name: tomcat-demo # 填寫目標命名空間 namespace: default spec: endpoints: - interval: 30s # 填寫service.yaml中Prometheus Exporter對應的Port的Name欄位的值 port: tomcat-monitor # 填寫Prometheus Exporter對應的Path的值 path: /metrics namespaceSelector: any: true # Demo的命名空間 selector: matchLabels: # 填寫service.yaml的Label欄位的值以定位目標service.yaml app: tomcatServiceMonitor頁簽下顯示配置的服務發現。
- 需要監控部署在K8s叢集之外的業務資料,如Redis串連數。操作步驟如下:
- 在左側導航樹單擊设置,然後在设置頁簽單擊编辑Prometheus.yaml。
- 在彈出的對話方塊中輸入以下內容,然後單擊保存。
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']
- 需要監控部署在K8s叢集內的應用的業務資料,例如訂單資訊。操作步驟如下:
步驟四:配置大盤
配置Grafana大盤以展示資料的操作步驟如下:
- 開啟Grafana大盤概覽頁。
說明 您需要開通Grafana專家版大盤。
- 在左側導覽列選擇。
- 在New dashboard頁面中單擊Add a new panel。
- 在Edit Panel頁面的Query地區的下拉式清單中選擇叢集。在A摺疊面板的Metrics下拉式清單中選擇監控指標,例如:go_gc_duration_seconds。

- 在頁面右側的地區,填寫圖表名稱,選擇大盤的可視化類型,如圖形、表格、熱點圖等,並根據您的需求配置其他參數。

- 單擊右上方Save,在彈出的對話方塊中輸入大盤名稱,並選擇叢集,然後單擊Save。
您可根據需要自行建立多個大盤和圖表。
配置完畢後的Grafana大盤如圖所示。
步驟五:監控複雜指標
如果需要監控涉及複雜運算的指標,您需要在可觀測監控 Prometheus 版中進行資料調試,從而得到相應的PromQL語句。
- 開啟Grafana大盤概覽頁。
- 在左側導覽列單擊Explore表徵圖。
- 在Explore頁面頂部下拉框中選擇叢集,然後在Metrics輸入框中輸入PromQL語句,單擊右上方的Run Query進行調試。

- 調試成功後,您可以參考上述步驟繼續添加大盤或圖表,具體操作,請參見步驟四:配置大盤。
步驟六:建立警示
為監控指標建立警示規則,具體操作,請參見建立Prometheus警示規則。
该文章对您有帮助吗?



