Usa Datadog Agent y las integraciones de Datadog-OpenMetrics o Datadog-Prometheus para recopilar tus métricas expuestas de Prometheus y OpenMetrics de la aplicación que se está ejecutando dentro de tus contenedores.
A partir de la versión 6.5.0, el Agent incluye checks de OpenMetrics y Prometheus capaces de extraer los endpoints de Prometheus. Datadog recomienda usar el check de OpenMetrics, ya que es más eficiente y es compatible con el formato de texto de Prometheus. Consulta usos más avanzados de la interfaz de OpenMetricsCheck, incluido cómo escribir un check personalizado, en la sección de Herramientas de desarrollo. Usa el check de Prometheus solo cuando el endpoint de las métricas no sea compatible con un formato de texto.
Esta página explica el uso básico de estos checks, que permiten importar todas las métricas que tienes expuestas en Prometheus dentro de Datadog.
Los comandos de CLI en esta página son para el tiempo de ejecución de Docker. Sustituye docker por nerdctl para el tiempo de ejecución del containerd, o podman para el tiempo de ejecución del Podman.
Para lanzar el Docker Agent junto a tus otros contenedores, sustituye <DATADOG_API_KEY> por la clave API de tu organización en el comando a continuación:
El Agent detecta si se está ejecutando en Docker y busca etiquetas de Datadog-OpenMetrics automáticamente en todas las etiquetas de contenedores. Autodiscovery espera que las etiquetas se parezcan a estos ejemplos, según el tipo de archivo:
# todas las métricas de un tipo de base-l com.datadoghq.ad.instances="[{\"openmetrics_endpoint\":\"http://%%host%%:<PROMETHEUS_PORT>/<PROMETHEUS_ENDPOINT>\",\"namespace\":\"<NAMESPACE>\",\"metrics\":[\"<METRIC_BASE_TO_FETCH>.*\"]}]"
# todas las métricas-l com.datadoghq.ad.instances="[{\"openmetrics_endpoint\":\"http://%%host%%:<PROMETHEUS_PORT>/<PROMETHEUS_ENDPOINT>\",\"namespace\":\"<NAMESPACE>\",\"metrics\":[\".*\"]}]"
La ruta URL para las métricas servidas por el contenedor en formato Prometheus.
<NAMESPACE>
Establece el espacio de nombres que se usará como prefijo para cada métrica cuando se visualiza en Datadog.
<METRIC_TO_FETCH>
Clave de métricas a recuperar del endpoint de Prometheus.
<NEW_METRIC_NAME>
Transforma la clave de métrica <METRIC_TO_FETCH> en <NEW_METRIC_NAME> en Datadog.
La configuración metrics es una lista de métricas que se recuperan como métricas personalizadas. Incluye cada métrica a recuperar y el nombre de métrica que se quiera en Datadog como pares de valores clave; por ejemplo, {"<METRIC_TO_FETCH>":"<NEW_METRIC_NAME>"}. Otra opción es proporcionar una lista de cadenas de nombres de métricas, interpretadas como expresiones regulares, para reunir las métricas deseadas con sus nombres actuales. Nota: potencialmente, las expresiones regulares pueden enviar muchas métricas personalizadas.
docker run -d -e DD_API_KEY="<DATADOG_API_KEY>"\
gcr.io/datadoghq/agent:latest \
-v \\.\pipe\docker_engine:\\.\pipe\docker_engine
Lanza un contenedor de Prometheus que expone métricas de muestra para que las recopile el Agent, con las etiquetas de Autodiscovery para el check de OpenMetrics.
Las etiquetas a continuación harán que el Agent recopile las métricas promhttp_metric_handler_requests, promhttp_metric_handler_requests_in_flight y todas la métricas expuestas que comiencen por go_memory.
Por defecto, todas las métricas recuperadas por el check de Prometheus genérico se consideran métricas personalizadas. Si estás monitorizando software comercial y crees que merece tener una integración oficial, no dudes en contribuir!
Las integraciones oficiales tienes sus propios directorios específicos. Hay un mecanismo de instancia por defecto en el check genérico para codificar la configuración por defecto y metadatos de métricas. Por ejemplo, consulta la integración kube-proxy.