En este documento, se describe cómo configurar tu implementación de Google Kubernetes Engine a fin de que puedas usar Google Cloud Managed Service para Prometheus a fin de recopilar métricas de las solicitudes HTTP que entrega tu aplicación. En este documento, se describe cómo hacer lo siguiente:
- Configurar la aplicación para que exporte métricas HTTP en un formato predefinido.
- Configurar un recurso PodMonitoring a fin de que Managed Service para Prometheus recopile las métricas exportadas.
- Consultar el panel Aplicación de tu Deployment de GKE.
Estas instrucciones se aplican solo si usas la colección administrada con Managed Service para Prometheus.
Configurar
Para recopilar las métricas de tu servidor HTTP que se pueden mostrar en el panel de Aplicación, debes exportar las siguientes métricas como se describe a continuación:
http_requests_total
de tipocounter
, con las etiquetascode
ymethod
.http_request_duration_seconds_bucket
de tipohistogram
, con la etiquetamethod
.
Para ver un ejemplo que recopila estas métricas mediante el cliente de Prometheus Go, consulta prometheus-example-app.
Para verificar que tu servidor HTTP emite métricas en los extremos esperados, haz lo siguiente:
- Configura la redirección de puertos mediante 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 la terminal.
Define un recurso PodMonitoring
Para el descubrimiento 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 deseas supervisar.
Para aplicar los cambios de configuración desde un archivo local, ejecuta el siguiente comando:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
También puedes usar Terraform para administrar tus opciones de configuración.
Consulta las métricas de las aplicaciones
Para ver las métricas de solicitud, tasa de error y latencia de tu aplicación HTTP, haz lo siguiente:
-
En la consola de Google Cloud, 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 es Kubernetes Engine.
- Haz clic en un Deployment en la lista de cargas de trabajo. La columna Tipo en la lista indica el tipo de carga de trabajo.
- En la página Detalles de la implementación, haz clic en la pestaña Observabilidad.
- Selecciona Aplicación en el selector del panel.
Para obtener más información, consulta Usa métricas de rendimiento de la aplicación.
Soluciona problemas
Si deseas obtener información para solucionar problemas de transferencia de métricas en el servicio administrado para Prometheus, consulta Problemas con la recopilación de exportadores en Soluciona problemas del lado de la transferencia.