Servidor gRPC

En este documento se describe cómo configurar tu implementación de Google Kubernetes Engine para que puedas usar Google Cloud Managed Service para Prometheus y recoger métricas de las solicitudes gRPC que sirve tu aplicación. En este documento se describe cómo hacer lo siguiente:

Estas instrucciones solo se aplican si usas la recogida gestionada con Managed Service para Prometheus.

Para obtener más información sobre gRPC, consulta grpc.io.

Configurar

Para recoger métricas de tu servidor gRPC, debes configurar el middleware gRPC adecuado.

Para verificar que tu servidor gRPC emite métricas en los endpoints esperados, haz lo siguiente:

  1. Configura la redirección de puertos con el siguiente comando:
    kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
      
  2. Accede a localhost:PROMETHEUS_PORT_NUMBER mediante el navegador o la utilidad curl en otra sesión de terminal.

Definir un recurso de PodMonitoring

Para la detección de destinos, el operador de Managed Service para Prometheus requiere un recurso PodMonitoring que corresponda al servidor gRPC en el mismo espacio de nombres.

Puedes usar la siguiente configuración de 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

Asegúrate de que los valores de los campos port y MatchLabels coincidan con los de la aplicación gRPC que quieras monitorizar.

Para aplicar los cambios de configuración de un archivo local, ejecuta el siguiente comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

También puedes usar Terraform para gestionar tus configuraciones.

Ver métricas de aplicaciones

Para ver las métricas de solicitudes, tasa de errores y latencia de tu aplicación gRPC, haz lo siguiente:

  1. En la Google Cloud consola, ve a la página Cargas de trabajo:

    Ve a Cargas de trabajo.

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Kubernetes Engine.

  2. Haga clic en una implementación de la lista de cargas de trabajo. La columna Tipo de la lista indica el tipo de carga de trabajo.
  3. En la página Detalles de la implementación, haga clic en la pestaña Observabilidad.
  4. Selecciona Aplicación en el selector de panel de control.

Para obtener más información, consulta Usar métricas de rendimiento de aplicaciones.

Solución de problemas

Para obtener información sobre cómo solucionar problemas de ingestión de métricas en Managed Service para Prometheus, consulta Problemas con la recogida de datos de exportadores en Solucionar problemas del lado de la ingestión.