本文件說明如何設定 Google Kubernetes Engine 部署作業,以便使用 Google Cloud Managed Service for Prometheus 從應用程式提供的 gRPC 要求中收集指標。本文件將說明如何執行下列操作:
- 為 Go 和 Java 設定 gRPC Prometheus 中介軟體。
- 設定 PodMonitoring 資源,讓 Managed Service for Prometheus 收集匯出的指標。
- 查看 GKE 部署作業的應用程式資訊主頁。
只有在您將 代管收集作業與 Managed Service for Prometheus 搭配使用時,才適用這些操作說明。
如要進一步瞭解 gRPC,請參閱 grpc.io。
設定
如要從 gRPC 伺服器收集指標,您必須設定適當的 gRPC 中介軟體。
- 如果您使用的是 Go,請參閱 go-grpc-middleware。
- 如果您使用的是 Java,請參閱 java-grpc-prometheus。
如要確認 gRPC 伺服器是否會在預期的端點上發出指標,請執行下列操作:
- 使用下列指令設定通訊埠轉送:
kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- 在其他終端機工作階段中,使用瀏覽器或
curl
公用程式存取localhost:PROMETHEUS_PORT_NUMBER
。
定義 PodMonitoring 資源
針對目標探索,Managed Service for Prometheus Operator 需要 PodMonitoring 資源,該資源必須與相同命名空間中的 gRPC 伺服器相符。
您可以使用下列 PodMonitoring 設定:
apiVersion: monitoring.googleapis.com/v1 kind: PodMonitoring metadata: name: my-prometheus-grpc-app labels: app.kubernetes.io/name: my-prometheus-grpc-app app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: prometheus scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: my-prometheus-grpc-app
請確認 port
和 MatchLabels
欄位的值與要監控的 gRPC 應用程式相符。
如要套用本機檔案中的設定變更,請執行下列指令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您也可以使用 Terraform 管理設定。
查看應用程式指標
如要查看 gRPC 應用程式的要求、錯誤率和延遲時間指標,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Workloads」(工作負載) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Kubernetes Engine」的結果。
- 按一下工作負載清單中的部署作業。清單中的「類型」欄會指出工作負載類型。
- 在「Deployment details」(部署詳細資料) 頁面上,按一下「Observability」(觀測能力) 分頁標籤。
- 在資訊主頁選取器中選取「應用程式」。
詳情請參閱「使用應用程式效能指標」。
疑難排解
如要瞭解如何排解 Managed Service for Prometheus 中指標擷取問題,請參閱 擷取端問題疑難排解一文中的「 從匯出工具收集資料時發生的問題」。