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"]
NotionDéfinition
Supervision active (polling)Le serveur interroge régulièrement les équipements
Supervision passiveL’équipement envoie lui-même (trap SNMP, agent actif)
Élément / métriqueUne 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).

VersionSécurité
v1 / v2c« Communauté » = mot de passe en clair (ex. public)
v3Authentification + chiffrement → à utiliser en production
snmp-server community SupervisionRO ro
snmp-server location Salle-serveur-A
sudo apt install snmp
snmpwalk -v2c -c SupervisionRO 192.168.99.2 1.3.6.1.2.1.1     # tester depuis Linux

3. 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 :

  1. Ajouter le dépôt officiel Zabbix (paquet zabbix-release de la page de téléchargement).
  2. sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent2
  3. Créer la base MariaDB zabbix (utf8mb4_bin), importer le schéma fourni, renseigner DBPassword dans /etc/zabbix/zabbix_server.conf.
  4. sudo systemctl enable --now zabbix-server zabbix-agent2 apache2 → http://IP/zabbix (identifiants par défaut Admin / 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-agent2

Puis 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).

Voir aussi