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 HTTP que sirve tu aplicación. En este documento se describe cómo hacer lo siguiente:
- Configura tu aplicación para que exporte métricas HTTP en un formato predefinido.
- 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.
Configurar
Para recoger métricas de su servidor HTTP que se puedan mostrar en el panel de control Aplicación, debe exportar las siguientes métricas tal como se describe:
http_requests_total
de tipocounter
, con las etiquetascode
ymethod
.http_request_duration_seconds_bucket
de tipohistogram
, con la etiquetamethod
.
Para ver un ejemplo que recoge estas métricas mediante el cliente Go de Prometheus, consulta prometheus-example-app.
Para verificar que tu servidor HTTP 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/HTTP_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 HTTP 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-http-app labels: app.kubernetes.io/name: my-prometheus-http-app app.kubernetes.io/part-of: google-cloud-managed-prometheus spec: endpoints: - port: web scheme: http interval: 30s path: /metrics selector: matchLabels: app.kubernetes.io/name: prometheus-example-app
Asegúrate de que los valores de los campos port
y MatchLabels
coincidan con los de la aplicación HTTP 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 HTTP, 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.