gRPC 服务器

本文档介绍了如何配置 Google Kubernetes Engine 部署,以便可以使用 Google Cloud Managed Service for Prometheus 从应用传送的 gRPC 请求中收集指标。本文档介绍了如何执行以下操作:

以下说明仅在您将代管式收集功能与 Managed Service for Prometheus 搭配使用时适用。

如需详细了解 gRPC,请参阅 grpc.io

设置

如需从 gRPC 服务器收集指标,您必须配置适当的 gRPC 中间件。

如需验证 gRPC 服务器是否在预期端点上发出指标,请执行以下操作:

  1. 使用以下命令设置端口转发:
    kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. 在其他终端会话中使用浏览器或 curl 实用程序访问 localhost:PROMETHEUS_PORT_NUMBER

定义 PodMonitoring 资源

对于目标发现,Managed Service for Prometheus Operator 需要与同一命名空间中的 gRPC 服务器对应的 PodMonitoring 资源。

您可以使用以下 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

确保 portMatchLabels 字段的值与要监控的 gRPC 应用的值相匹配。

如需从本地文件应用配置更改,请运行以下命令:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

您还可以使用 Terraform 管理您的配置。

查看应用指标

如需查看来自 gRPC 应用的请求、错误率和延迟时间指标,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到工作负载页面:

    转到工作负载

    如果您使用搜索栏查找此页面,请选择子标题为 Kubernetes Engine 的结果。

  2. 在工作负载列表中点击一个 Deployment。该列表中的类型列表示工作负载的类型。
  3. Deployment 详情页面上,点击可观测性标签页。
  4. 在信息中心选择器中选择应用

如需了解详情,请参阅使用应用性能指标

问题排查

如需了解如何排查 Managed Service for Prometheus 中的指标注入问题,请参阅排查注入端问题中的从导出器收集的问题