Prometheus
v2.xRecopilación de métricas y alertas
Descripción
Prometheus recopila métricas de todos los servicios del clúster WicSecure mediante scraping HTTP periódico. Es el backend de métricas del Monitor SOC que permite detectar anomalías en tiempo real antes de que impacten al usuario.
Uso en WicSecure
Prometheus corre en el stack core-monitor. Recopila métricas de: cAdvisor (contenedores Docker), Node Exporter (sistema operativo de cada nodo) y los endpoints /metrics de las aplicaciones NestJS. AlertManager envía alertas por email o Slack.
Configuración clave
yamlconfig
# prometheus.yml — configuración de scraping
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
- /etc/prometheus/rules/*.yml
scrape_configs:
- job_name: 'cadvisor'
static_configs:
- targets: ['cadvisor:8080']
- job_name: 'node-exporter'
static_configs:
- targets: ['node-exporter:9100']
- job_name: 'nestjs-api'
metrics_path: /metrics
static_configs:
- targets: ['api:3000']Ejemplo de uso
yaml
# Regla de alerta en AlertManager
groups:
- name: wicsecure-swarm
rules:
- alert: ServiceDown
expr: up == 0
for: 2m
labels:
severity: critical
annotations:
summary: "Servicio {{ $labels.job }} caído"
description: "El servicio {{ $labels.instance }} lleva 2 minutos sin responder"
- alert: HighMemoryUsage
expr: container_memory_usage_bytes / container_spec_memory_limit_bytes > 0.85
for: 5m
labels:
severity: warningCaracterísticas clave
- Modelo pull-based: scraping HTTP de /metrics endpoints
- PromQL: lenguaje de consulta para análisis temporal
- Service discovery con Docker, Consul y Kubernetes
- AlertManager para routing multi-canal de alertas
- Storage de series temporales eficiente (TSDB)