Conéctate a Prometheus para:
- Extraer métricas personalizadas de los endpoints de Prometheus
- Ver las alertas del AlertManager de Prometheus en tu flujo (stream) de eventos de Datadog
Nota: Datadog recomienda utilizar el check de OpenMetrics, ya que es más eficiente y es enteramente compatible con el formato de texto de Prometheus. Utiliza el check de Prometheus sólo cuando el endpoint de las métricas no es compatible con un formato de texto.
Para aprender a configurar un check de Prometheus, consulta Empezando con la recopilación de métricas de Prometheus.
Configuración
Sigue las instrucciones a continuación para instalar y configurar este check para un Agent que se ejecuta en un host. Para entornos en contenedores, consulta las plantillas de integración de Autodiscovery para obtener orientación sobre la aplicación de estas instrucciones.
Instalación
El check de Prometheus viene en el paquete del Datadog Agent a partir de la versión 6.1.0.
Configuración
Edita el archivo prometheus.d/conf.yaml
para recuperar métricas desde aplicaciones que exponen endpoints de OpenMetrics / Prometheus.
Cada instancia se compone como mínimo de:
Parámetro | Descripción |
---|
prometheus_url | Una URL que apunta a la ruta de la métrica (Nota: Debe ser única) |
namespace | Este espacio de nombres se antepone a todas las métricas (para evitar la colisión de nombres de métricas) |
metrics | La lista de las métricas que se van a recuperar como métricas personalizadas con el formato - <METRIC_NAME> o - <METRIC_NAME>: <RENAME_METRIC> |
Al listar las métricas, es posible utilizar el comodín *
de la siguiente manera - <METRIC_NAME>*
para recuperar todas las métricas coincidentes. Nota: Utiliza los comodines con precaución, ya que es posible que envíe muchas métricas personalizadas.
En el prometheus.d/conf.yaml de ejemplo se documentan configuraciones más avanzadas (ssl, unión de etiquetas (tags), etiquetas personalizadas,…).
Debido a la naturaleza de esta integración, es posible enviar un elevado número de métricas personalizadas a Datadog. Los usuarios pueden controlar el número máximo de métricas enviadas por errores de configuración o cambios en entradas. El check tiene un límite por defecto de 2000 métricas. Si es necesario, este límite puede aumentarse configurando la opción max_returned_metrics
en el archivo prometheus.d/conf.yaml
.
Si send_monotonic_counter: True
, el Agent envía los deltas de los valores en cuestión y el tipo en la aplicación se configura para el conteo (este es el comportamiento por defecto). Si send_monotonic_counter: False
, el Agent envía el valor sin procesar, monotónicamente creciente, y el tipo en la aplicación se establece en “gauge”.
Validación
Ejecuta el subcomando status
del Agent y busca prometheus
en la sección Checks.
Datos recopilados
Métricas
Todas las métricas recopiladas por el check de Prometheus se envían a Datadog como métricas personalizadas.
Nota: Los datos de los buckets para una determinada métrica de histograma de Prometheus <HISTOGRAM_METRIC_NAME>
se almacenan en la métrica <HISTOGRAM_METRIC_NAME>.count
en Datadog, con las etiquetas upper_bound
que incluyen el nombre de los buckets. Para acceder al bucket +Inf
, utiliza upper_bound:none
.
Eventos
Las alertas del AlertManager de Prometheus se envían automáticamente a tu flujo de eventos de Datadog siguiendo la configuración del webhook.
Checks de servicio
El check de Prometheus no incluye checks de servicio.
AlertManager de Prometheus
Envía alertas del AlertManager de Prometheus dentro del flujo de eventos. De forma nativa, el AlertManager envía todas las alertas simultáneamente al webhook configurado. Para ver las alertas en Datadog, debes configurar tu instancia de AlertManager para enviar las alertas de una en una. Puedes añadir un parámetro “group-by” (agrupar por) en route
para agrupar las alertas por el nombre real de la regla de alerta.
Configuración
- Edita el archivo de configuración del AlertManager,
alertmanager.yml
, para incluir lo siguiente:
receivers:
- name: datadog
configuraciones_webhooks:
- enviar_resuelto: verdadero
url: https://app.datadoghq.com/intake/webhook/prometheus?api_key=<DATADOG_API_KEY>
route:
agrupar_por: ['nombredealerta']
espera_grupo: 10s
intervalo_grupo: 5m
receiver: datadog
repetir_intervalo: 3h
Nota: Este endpoint sólo acepta un evento en la carga útil a la vez.
- Reinicia los servicios de Prometheus y AlertManager.
sudo systemctl restart prometheus.service alertmanager.service
Solucionar problemas
¿Necesitas ayuda? Ponte en contacto con el soporte de Datadog.
Referencias adicionales