Monitoreo y alertas

Recomendación de configuración de servidor

Monitoreo no es opcional

El servicio cae, entérate primero —— no esperes a que el usuario te lo diga

Busca plan de despliegue...

😰 Servicio cae a medianoche y nadie se da cuenta

viernes después de trabajo el servidor se cae silenciosamente, lunes mañana montón de gente reporta "no funciona". Abres servidor —— disco lleno, logs explosionando y comieron el espacio. Con monitoreo y alerta, viernes por la noche notificación, 5 minutos y listo.

Plan de monitoreo Prometheus + Grafana, CPU, memoria, volumen de solicitudes todo claro de un vistazo, alertas automáticas en anomalías.

Usa Nginx como proxy inverso, soporta múltiples servicios compartiendo puertos 80/443, combinado con dominio.

despliegue del stack de monitoreo de un comando

Levanta Prometheus, Grafana y Node Exporter juntos con docker-compose:

Despliegue de stack de monitoreo
# Crear directorio de monitoreo
docker-compose.yml — stack de monitoreo
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: always
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - ./alert_rules.yml:/etc/prometheus/alert_rules.yml
      - prometheus_data:/prometheus
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
      - "--storage.tsdb.retention.time=30d"

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: always
    ports:
      - "3001:3000"
    volumes:
      - grafana_data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=your_secure_password

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    restart: always
    ports:
      - "9100:9100"
    volumes:
      - /proc:/host/proc:ro
      - /sys:/host/sys:ro
      - /:/rootfs:ro
    command:
      - "--path.procfs=/host/proc"
      - "--path.sysfs=/host/sys"
      - "--path.rootfs=/rootfs"

  alertmanager:
    image: prom/alertmanager:latest
    container_name: alertmanager
    restart: always
    ports:
      - "9093:9093"
    volumes:
      - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml

volumes:
  prometheus_data:
  grafana_data:

Biblioteca de plantillas de Prompt

prometheus.yml
global:

regla de alerta

alert_rules.yml — reglas de alerta
groups:

configuración notificación de alerta

cuando alerta se dispara, ¿cómo te aviso? Puede ser mail, push a DingTalk/WeChat empresarial/Slack:

alertmanager.yml — configuración de notificación
global:
¿Te ayudó este tutorial?