Servidor HTTP

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:

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 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 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:

  1. Configura la redirección de puertos mediante 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 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:

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

    Ir a Cargas de trabajo

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

  2. 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.
  3. En la página Detalles de la implementación, haz clic en la pestaña Observabilidad.
  4. 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.