¿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.
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
: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
:Tenga en cuenta que se establece el esquema en
https
ytls_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.