P04 - Supervision : SNMP et Zabbix
Objectif
Être prévenu avant les utilisateurs : surveiller la disponibilité et les ressources des serveurs et équipements, déclencher des alertes.
1. Principe
flowchart LR subgraph PARC["Équipements supervisés"] S1["Serveur Linux<br/>agent Zabbix :10050"] S2["Serveur Windows<br/>agent Zabbix"] SW["Switch / routeur<br/>SNMP :161"] WEB["Site web<br/>(test HTTP)"] end Z["Serveur Zabbix<br/>+ base + interface web"] -->|"interroge"| S1 & S2 & SW & WEB SW -->|"trap SNMP :162<br/>(alerte spontanée)"| Z Z -->|"seuil dépassé"| AL["📧 Mail / Discord / Telegram"]
| Notion | Définition |
|---|---|
| Supervision active (polling) | Le serveur interroge régulièrement les équipements |
| Supervision passive | L’équipement envoie lui-même (trap SNMP, agent actif) |
| Élément / métrique | Une valeur mesurée (CPU, RAM, disque, ping, état d’un service) |
| Déclencheur (trigger) | Condition d’alerte (« disque > 90 % ») |
| Modèle (template) | Ensemble prêt à l’emploi (« Linux by Zabbix agent ») |
2. SNMP
Simple Network Management Protocol (UDP 161, traps 162). Les valeurs sont rangées dans une MIB et identifiées par un OID (ex. 1.3.6.1.2.1.1.5.0 = nom de l’équipement).
| Version | Sécurité |
|---|---|
| v1 / v2c | « Communauté » = mot de passe en clair (ex. public) |
| v3 | Authentification + chiffrement → à utiliser en production |
snmp-server community SupervisionRO ro
snmp-server location Salle-serveur-Asudo apt install snmp
snmpwalk -v2c -c SupervisionRO 192.168.99.2 1.3.6.1.2.1.1 # tester depuis Linux3. Zabbix (le plus utilisé en BTS)
Prendre la dernière version LTS (7.0 LTS, ou 8.0 LTS si elle est sortie) : sur zabbix.com, rubrique Download, choisir version, distribution, base et serveur web → la page donne les commandes exactes à copier.
Étapes générales sur Debian/Ubuntu :
- Ajouter le dépôt officiel Zabbix (paquet
zabbix-releasede la page de téléchargement). sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2- Créer la base MariaDB
zabbix(utf8mb4_bin), importer le schéma fourni, renseignerDBPassworddans/etc/zabbix/zabbix_server.conf. sudo systemctl enable --now zabbix-server zabbix-agent2 apache2→http://IP/zabbix(identifiants par défautAdmin/zabbix→ à changer).
Sur chaque serveur Linux à superviser :
sudo apt install zabbix-agent2
sudo sed -i 's/^Server=.*/Server=192.168.99.50/; s/^ServerActive=.*/ServerActive=192.168.99.50/; s/^Hostname=.*/Hostname=srv-web01/' /etc/zabbix/zabbix_agent2.conf
sudo systemctl enable --now zabbix-agent2Puis dans l’interface : Collecte de données → Hôtes → Créer un hôte → interface Agent (IP) → modèle « Linux by Zabbix agent ».
Alternatives : Centreon (français, basé sur Nagios), Nagios, LibreNMS (réseau), Prometheus + Grafana (métriques, très utilisé en DevOps), Uptime Kuma (simple, Docker).