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:
- Configura el middleware de Prometheus de gRPC para Go y Java.
- Configura un recurso de PodMonitoring para que Managed Service para Prometheus recoja las métricas exportadas.
- Consulta el panel de control Aplicación de tu implementación de GKE.
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.
- Si usas Go, consulta go-grpc-middleware.
- Si usas Java, consulta java-grpc-prometheus.
Para verificar que tu servidor gRPC emite métricas en los endpoints esperados, haz lo siguiente:
- Configura la redirección de puertos con el siguiente comando:
kubectl -n NAMESPACE_NAME port-forward deploy/GRPC_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- Accede a
localhost:PROMETHEUS_PORT_NUMBER
mediante el navegador o la utilidadcurl
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:
-
En la Google Cloud consola, ve a la página Cargas de trabajo:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo sea Kubernetes Engine.
- 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.
- En la página Detalles de la implementación, haga clic en la pestaña Observabilidad.
- 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.