Volver a Documentación
Prometheus

Prometheus

v2.x

Recopilació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: warning

Caracterí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)