Surveillance et alertes

Service plante, vous le saurez d'abord —— n'attendez pas que l'utilisateur le signale

La surveillance n'est pas optionnelle

Service lancé ne signifie pas sans problème. CPU à 100% vous ne savez pas, fuite mémoire vous ne savez pas, disque plein vous ne savez pas —— attendre l'utilisateur "ça marche pas", c'est trop tard.

Mettez en place un système de monitoring et alertes, découvrez les problèmes avant les utilisateurs, c'est l'ops correcte.

😰 Service crash minuit personne sait

vendredi soir après le boulot le serveur crash en silence, lundi matin tout le monde dit "ça marche pas". Tu vérifies et découvres—disque plein, les logs ont explosé. Avec des alertes tu reçois une notif vendredi et tu règles en 5 minutes.

Prometheus + Grafana + notification d'alerte

Utilisez Prometheus collecter données métriques, Grafana afficher tableau de bord visuel, plus règles alertes, CPU haut, mémoire insuffisante, service down tout notifié rapide sur téléphone ou email. Solution open source gratuite, Docker one-click.

deploy monitoring stack en un clic

Démarrer Prometheus, Grafana et Node Exporter ensemble avec docker-compose :

Déployer pile monitoring
# Créer un répertoire de monitoring
docker-compose.yml — stack de monitoring
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:

Configuration Prometheus

prometheus.yml
global:

règles d'alerte

alert_rules.yml — règles d\'alerte
groups:

configuration des notifications d'alerte

après une alerte comment tu es notifié ? Email, vers Dingtalk/WeChat/Slack :

alertmanager.yml — configuration notification
global:
Tuto utile pour vous?