Integración con Prometheus
Conecta ReliaPulse a tu servidor Prometheus para monitorear métricas y crear alertas basadas en consultas PromQL.
Requisitos Previos
- Servidor Prometheus accesible desde ReliaPulse
- Endpoint de API habilitado en Prometheus
- Conectividad de red entre los servicios
Configuración
Crear Integración
- Ve a Dashboard → Configuración → Integraciones
- Haz clic en Agregar Integración
- Selecciona Prometheus
- Completa la configuración:
| Campo | Descripción | Ejemplo |
|---|---|---|
| Nombre | Nombre descriptivo | Prometheus Producción |
| URL | URL de la API de Prometheus | https://prometheus.example.com |
| Usuario | Usuario autenticación básica (opcional) | admin |
| Contraseña | Contraseña autenticación básica (opcional) | *** |
Probar Conexión
Haz clic en Probar Conexión para verificar que ReliaPulse puede conectarse a tu servidor Prometheus.
Creación de Consultas de Métricas
Consulta Básica
- Ve a la configuración de tu integración
- Haz clic en la pestaña Métricas
- Haz clic en Agregar Consulta
- Ingresa tu consulta PromQL
Ejemplo - Uso de CPU:
avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) * 100Ejemplo - Uso de Memoria:
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100Ejemplo - Tasa de Requests HTTP:
sum(rate(http_requests_total[5m]))Configuración de Consulta
| Campo | Descripción |
|---|---|
| Nombre | Nombre visible de la métrica |
| Consulta | Expresión PromQL |
| Intervalo de Polling | Frecuencia de consulta (30s - 1h) |
| Unidad | Unidad de visualización (%, ms, requests, etc.) |
| Umbral de Advertencia | Valor para disparar advertencia |
| Umbral Crítico | Valor para disparar alerta crítica |
Métricas Multi-Serie
Para consultas que retornan múltiples series de tiempo, habilita Modo Multi-Serie:
# Retorna una serie por instancia
node_cpu_seconds_total{mode="idle"}Configura:
- Agrupar Por Tags:
instance,job - Agregación: AVG, SUM, MAX, MIN
- Máx Series: Limitar número de series rastreadas
Configuración de Umbrales
Operadores de Umbral
| Operador | Descripción |
|---|---|
| Mayor Que | Alerta cuando valor > umbral |
| Menor Que | Alerta cuando valor < umbral |
| Igual A | Alerta cuando valor = umbral |
| Diferente De | Alerta cuando valor ≠ umbral |
Ejemplos de Umbrales
Uso de CPU (mayor es peor):
- Advertencia: 70 (>70%)
- Crítico: 90 (>90%)
- Operador: Mayor Que
Memoria Disponible (menor es peor):
- Advertencia: 1073741824 (<1GB)
- Crítico: 536870912 (<512MB)
- Operador: Menor Que
Vincular a Componentes
Conecta métricas a componentes para actualizaciones automáticas de estado:
- Edita un componente
- Establece el tipo como METRIC
- Selecciona tu integración Prometheus
- Elige o crea una consulta de métricas
- Configura los umbrales
Cuando la métrica excede el umbral crítico:
- El estado del componente cambia a MAJOR_OUTAGE
- Se crea un incidente automáticamente (si está habilitado)
- Se envían notificaciones a los suscriptores
Consejos de PromQL
Rate vs Instant
Usa rate() para métricas de contador:
# Bueno - muestra requests por segundo
rate(http_requests_total[5m])
# Malo - muestra conteo total (siempre incrementando)
http_requests_totalAgregación
Agregar entre instancias:
# Promedio de todos los nodos
avg(node_load1)
# Suma de todos los requests
sum(rate(http_requests_total[5m]))
# Latencia máxima de cualquier pod
max(http_request_duration_seconds)Filtrado por Labels
Filtrar por etiquetas:
# Servicio específico
http_requests_total{service="api"}
# Excluir códigos de estado
http_requests_total{status!~"5.."}
# Múltiples condiciones
http_requests_total{service="api", method="POST"}Rangos de Tiempo
Rangos comunes:
[1m]- Último minuto[5m]- Últimos 5 minutos (recomendado para rate)[1h]- Última hora[1d]- Último día
Solución de Problemas
Conexión Fallida
- Verifica que la URL de Prometheus sea correcta
- Comprueba la conectividad de red
- Verifica las credenciales de autenticación
- Asegúrate de que la API de Prometheus esté habilitada
Sin Datos Retornados
- Prueba la consulta primero en la UI de Prometheus
- Verifica el rango de tiempo de los datos
- Comprueba la ortografía del nombre de la métrica
- Revisa los valores de las etiquetas
SSRF Bloqueado
ReliaPulse bloquea requests a redes privadas por seguridad. Asegúrate de que tu servidor Prometheus sea accesible en una IP pública o configura el acceso de red apropiado.
Seguridad
Seguridad de Red
- Usa HTTPS para conexiones a Prometheus
- Considera VPN o acceso a red privada
- Limita la API de Prometheus a consultas de solo lectura
Autenticación
Prometheus soporta:
- Autenticación básica
- Token Bearer (vía proxy inverso)
- mTLS (vía proxy inverso)