es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo exponer las métricas del daemon de Docker a través de HTTPS?

Los métricos del daemon de Docker se pueden activar configurando las opciones de dockerd, como se indica en https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-metrics:


OPTIONS="--experimental --metric-addr 127.0.0.1:9323"

También se puede hacer esto configurando /etc/docker/daemon.json. Esto expondría mis métricos en localhost:9323 por HTTP. Podría acceder a mis métricos a través de curl, por ejemplo:

bash
curl http://localhost:9323/metrics

Sin embargo, quiero exponer mis métricos de daemon de Docker sobre HTTPS para que Prometheus pueda rasparlos. ¿Existe alguna forma de hacer esto?

Intenté habilitar la verificación de TLS configurando los siguientes indicadores: --tls-verify, --tlscert, --tlskey y --tlscacert, pero esto no afecta el punto final de métricas.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de exponer las métricas de daemon de Docker a través de HTTPS para ser raspadas usando Prometheus.

    Primero, genere un certificado y clave TLS para el daemon de Docker. Esto se puede hacer usando una herramienta como OpenSSL.

    Luego, agregue las siguientes opciones al comando dockerd:

    --tlsverify --tlscert=/ruta/hacia/cert.pem --tlskey=/ruta/hacia/key.pem --tlscacert=/ruta/hacia/ca.pem --experimental --metric-addr=127.0.0.1:9323
    

    Tenga en cuenta la adición de la bandera --tlsverify y las rutas hacia el certificado TLS, la clave y el certificado de CA.

    Finalmente, actualice la configuración de Prometheus para raspar el punto final de métricas sobre HTTPS agregando lo siguiente a la sección scrape_configs:

    - job_name: 'docker'
      scheme: https
      metrics_path: /metrics
      static_configs:
      - targets: ['localhost:9323']
        tls_config:
          ca_file: /ruta/hacia/ca.pem
    

    Tenga en cuenta que se establece el esquema en https y tls_config incluye la ruta hacia el certificado de CA.

    Después de reiniciar Prometheus y el daemon de Docker, Prometheus debería poder raspar con éxito el punto final de métricas de daemon de Docker a través de HTTPS.

Comments are closed.