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.
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.
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 :
# Créer un répertoire 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
global:
règles d'alerte
groups:
configuration des notifications d'alerte
après une alerte comment tu es notifié ? Email, vers Dingtalk/WeChat/Slack :
global: