Integración con Datadog
Conecta ReliaPulse con Datadog para métricas de aplicaciones e infraestructura.
Vista General
La integración con Datadog te permite:
- Mostrar métricas de Datadog en tu página de estado
- Crear componentes METRIC basados en consultas de Datadog
- Establecer umbrales para actualizaciones automáticas de estado
- Rastrear métricas multi-serie con agrupación por tags
Requisitos Previos
- Una cuenta de Datadog
- Una API key con permisos de lectura de métricas
- Una Application key
Configuración
1. Crear API Keys de Datadog
- Inicia sesión en Datadog
- Navega a Organization Settings > API Keys
- Haz clic en "New Key"
- Copia la API key
2. Crear Application Key
- Navega a Organization Settings > Application Keys
- Haz clic en "New Key"
- Copia la application key
Las application keys están vinculadas a un usuario específico. Crea una cuenta de servicio para uso en producción.
3. Añadir Integración en ReliaPulse
- Navega a Configuración > Integraciones
- Haz clic en "Añadir Integración"
- Selecciona Datadog
- Configura:
| Campo | Descripción |
|---|---|
| Nombre | Nombre de visualización (ej., "Datadog Producción") |
| API Key | Tu API key de Datadog |
| App Key | Tu application key de Datadog |
| Site | Sitio de Datadog (US1, US3, US5, EU1, AP1) |
- Haz clic en "Probar Conexión"
- Haz clic en "Guardar"
Sitios de Datadog
| Site | URL | Región |
|---|---|---|
| US1 | datadoghq.com | US |
| US3 | us3.datadoghq.com | US |
| US5 | us5.datadoghq.com | US |
| EU1 | datadoghq.eu | EU |
| AP1 | ap1.datadoghq.com | Asia Pacífico |
Crear Consultas de Métricas
Consulta Básica
- Ve a la configuración de la integración
- Haz clic en la pestaña "Métricas"
- Haz clic en "Añadir Consulta"
- Configura:
| Campo | Valor |
|---|---|
| Nombre | Uso de CPU |
| Query | avg:system.cpu.user{*} |
| Intervalo de Polling | 60 segundos |
| Umbral de Advertencia | 70 |
| Umbral Crítico | 90 |
- Guarda
Sintaxis de Consultas
Las consultas de Datadog siguen este patrón:
<agregación>:<métrica>{<scope>}Ejemplos:
avg:system.cpu.user{*} # CPU promedio en todos los hosts
sum:http.requests{service:api}.as_count() # Conteo de requests para servicio API
avg:aws.rds.dbload{*} # Carga de base de datos RDS
p95:trace.request.duration{*} # Duración P95 de requestsFunciones de Agregación
| Función | Descripción |
|---|---|
avg | Valor promedio |
sum | Suma de valores |
min | Valor mínimo |
max | Valor máximo |
count | Número de puntos |
Scope (Tags)
Filtra por tags:
avg:system.cpu.user{host:web-1} # Host específico
avg:system.cpu.user{env:production} # Ambiente de producción
avg:system.cpu.user{env:prod,service:api} # Múltiples tagsMétricas Multi-Serie
Rastrea métricas divididas por tags:
Habilitar Multi-Serie
- Edita una consulta de métricas
- Habilita "Modo Multi-Serie"
- Configura:
| Campo | Descripción |
|---|---|
| Agrupar por Tags | Nombres de tags separados por coma |
| Agregación | Cómo agregar (AVG, SUM) |
| Max Series | Máximo de series a rastrear |
Ejemplo: CPU por Host
Query: avg:system.cpu.user{*}
Agrupar por Tags: hostEsto crea una serie separada para cada host:
web-1: 45%web-2: 52%api-1: 38%
Transformación de Consulta
ReliaPulse añade automáticamente by {tags} a tu consulta:
Tu consulta: avg:system.cpu.user{*}
Con groupByTags: host,env
Consulta efectiva: avg:system.cpu.user{*} by {host,env}Descubrimiento de Series
- Guarda la consulta con multi-serie habilitado
- Haz clic en "Descubrir Series"
- El sistema consulta Datadog y crea entradas de series
Métricas Comunes
Infraestructura
| Métrica | Query |
|---|---|
| Uso de CPU | avg:system.cpu.user{*} |
| Uso de Memoria | avg:system.mem.used{*} |
| Uso de Disco | avg:system.disk.in_use{*} |
| Red Entrante | sum:system.net.bytes_rcvd{*}.as_rate() |
AWS
| Métrica | Query |
|---|---|
| CPU de RDS | avg:aws.rds.cpuutilization{*} |
| Conexiones RDS | avg:aws.rds.database_connections{*} |
| Errores Lambda | sum:aws.lambda.errors{*}.as_count() |
| Latencia ELB | avg:aws.elb.latency{*} |
APM
| Métrica | Query |
|---|---|
| Tasa de Requests | sum:trace.http.request{*}.as_rate() |
| Tasa de Errores | sum:trace.http.request.errors{*}.as_rate() |
| Latencia P95 | p95:trace.http.request.duration{*} |
Umbrales
Establece umbrales para actualizaciones automáticas de estado:
| Umbral | Efecto |
|---|---|
| Advertencia | Estado del componente → Degradado |
| Crítico | Estado del componente → Interrupción Mayor |
Dirección del Umbral
Por defecto, "sobre el umbral" es malo. Para métricas donde menor es peor:
- Establece crítico menor que advertencia
- El sistema detecta umbrales invertidos
Solución de Problemas
Autenticación Fallida
- Verifica que la API key sea correcta
- Verifica permisos de la application key
- Confirma que el sitio correcto está seleccionado
- Asegura que las keys no han sido revocadas
No Se Retornan Datos
- Verifica que el nombre de la métrica sea correcto
- Verifica que los tags de scope existen en Datadog
- Confirma que la métrica tiene puntos de datos recientes
- Prueba la consulta primero en la UI de Datadog
Datos Retrasados
Las métricas cloud (AWS, GCP, Azure) a menudo tienen retrasos de 5-10 minutos.
ReliaPulse usa una ventana de tiempo de 30 minutos para acomodar retrasos de métricas cloud. Si aún faltan datos:
- Verifica disponibilidad de datos en Datadog
- Aumenta el intervalo de polling
- Verifica que la métrica está reportando activamente
Series Vacías
Si el modo multi-serie no retorna series:
- Verifica que groupByTags coinciden con tags reales de Datadog
- Verifica que los tags existen en la métrica
- Intenta consultar primero sin groupBy
Integración API
Crear Integración de Datadog
curl -X POST https://tu-dominio.com/api/v1/integrations \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Datadog Producción",
"type": "DATADOG",
"config": {
"apiKey": "tu-api-key",
"appKey": "tu-app-key",
"site": "US1"
}
}'Crear Consulta de Métricas
curl -X POST https://tu-dominio.com/api/v1/integrations/{id}/metrics \
-H "Authorization: Bearer sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"name": "Uso de CPU API",
"query": "avg:system.cpu.user{service:api}",
"pollingInterval": 60,
"warningThreshold": 70,
"criticalThreshold": 90,
"isMultiSeries": true,
"groupByTags": ["host"]
}'Mejores Prácticas
- Usa scopes específicos - Limita consultas a datos relevantes
- Establece intervalos apropiados - 60 segundos para la mayoría de métricas
- Agrupa métricas relacionadas - Usa tags consistentemente
- Monitorea polling - Verifica logs del worker para errores
- Prueba consultas primero - Valida en la UI de Datadog
Documentación Relacionada
- Métricas - Usar métricas en ReliaPulse
- Componentes - Tipo de componente METRIC
- Vista General de Integraciones - Otras integraciones