Servidor HTTP

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:

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 tipo counter, con las etiquetas code y method.
  • http_request_duration_seconds_bucket de tipo histogram, con la etiqueta method.

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:

  1. Configura la redirección de puertos con el siguiente comando:
    kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_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 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:

  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.