Zabbix
- 00 - Comparatif Zabbic Vs Grafana Vs Centreon
- 01 - Description
- 02 - Installation Zabbix
- 03 - Installation Client Zabbix
- 04 - Configuration
- 05 - Dashboard
- 06 - Idées Dashboards
- 07 - Messagerie
00 - Comparatif Zabbic Vs Grafana Vs Centreon
1) Objectif des outils
Zabbix — Solution de supervision complète
- Outil tout en un : collecte, stockage, alertes, découverte réseau, dashboards
- SNMP natif, agentless ou via agent
- Très adapté aux infrastructures réseau (switchs, routeur, UPS, firewalls, serveurs...)
- Pensé pour la supervision IT classique (CPU, RAM, interfaces...)
Grafana — Plateforme de visualisation
- Outil centré sur les dashboards et la visualisation des données
- Ne collecte pas les données SNMP par lui-même (obligé de passer par Telegraf)
- Excellente ergonomie, très visuel
Centreon — Supervision orientée entreprise
- Surcouche de Nagios/Naemon avec interface web moderne
- Support SNMP via plugins, configuration plus complexe
- Très complet mais orienté grandes infrastructures IT
- Nécessite une architecture dédiée (base de données, broker...)
2) Supervision SNMP — Comparaison détaillée
| Critère SNMP | Zabbix | Grafana | Centreon |
|---|---|---|---|
| Support SNMP natif | Oui, complet (v1/v2c/v3) | Non, nécessite Telegraf/Prometheus | Via plugins Nagios |
| Poller SNMP intégré | Oui, polling interne (bulk requests, retry) | Non, dépend de SNMP Exporter ou Telegraf | Via Centreon Engine (plugins) |
| SNMP Traps | Support natif via snmptrapd | Via Telegraf SNMP Trap plugin uniquement | Via Centreon Trap, configuration manuelle |
| Alertes basées sur SNMP | Avancées (triggers, escalades) | Limitées (Prometheus Alertmanager) | Présentes mais complexes à configurer |
| Performances SNMP | Optimisé bulk requests à grande échelle | Dépend totalement de Telegraf/Prometheus | Dépend des plugins, moins optimisé |
3) Installation & maintenance
Zabbix
- Installation plus complexe
- Paramétrage parfois lourd mais complet
- Solution centralisée
Grafana
- Installation simple
- Peut tourner en conteneur Docker en quelques lignes
- Nécessite d'installer la stack SNMP complète
Centreon
- Installation complexe (dépendances Nagios, broker, base de données)
- Interface web moderne mais courbe d'apprentissage élevée
- Adapté aux équipes IT dédiées, surdimensionné pour un projet de taille réduite
4) Conclusion
Zabbix a été retenu car il offre le meilleur compromis entre richesse fonctionnelle et simplicité de déploiement pour notre infrastructure. Grafana est écarté pour l'absence de collecte SNMP native. Centreon, bien que complet, est surdimensionné pour le besoin du projet.
01 - Description
Matériels
VM Proxmox
OS : Debian 13
RAM : 4Go
Processeur : 2
Stockage : 50Go
Identifiants
Proxmox
- IRS-admin
- ieufdL
Debian-Zabbix
- root
- ieufdl
- real name (zabbix)
- Z@bB/*
Asterisck
- Debian-Asterisck
- asterisck
- stjolorient
02 - Installation Zabbix
Source :
https://www.libra-linux.com/blog/15-supervision-avec-zabbix-7-0-lts-sur-debian-ubuntu
1) Installation du serveur Zabbix
Prérequis
- OS : Debian 12
- 2 Go de RAM , 1 CPU
- Accès root / sudo
Ajout du dépôt Zabbix
Pour Debian 12
wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb
sudo dpkg -i zabbix-release_7.0-1+debian12_all.deb
sudo apt update
Pour Ubuntu 22.04
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb
sudo apt update
Installer le serveur Zabbix + frontend + BDD
sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf \
zabbix-sql-scripts zabbix-agent mariadb-server
Configurer MariaDB
sudo mysql_secure_installation
Puis :
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'ieufdl';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
FLUSH PRIVILEGES;
Importer le schéma :
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
Configurer Zabbix
Fichier /etc/zabbix/zabbix_server.conf :
DBPassword=ieufdl
Ne pas oubliez de démarrer le service :)
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
Accéder à l’interface web
Accéder à : http://<IP_serveur>/zabbix
Identifiants initiaux :
Login : Admin
Mot de passe : zabbix
03 - Installation Client Zabbix
1) Installation du client Zabbix
Installation de l'agent sur la machine Client
wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian12_all.deb
sudo dpkg -i zabbix-release_6.4-1+debian12_all.deb
sudo apt update
sudo apt install -y zabbix-agent2
Configuration de l'agent
Afin de connecter votre machine au serveur Zabbix, il faut configurer celle-ci en indiquant l'adresse IP de votre serveur Zabbix.
Server=<IP_de_ton_Zabbix>
ServerActive=<IP_de_ton_Zabbix>
Hostname=Debian-Asterisk
Le fichier à modifier est le suivant : /etc/zabbix/zabbix_agent2.conf
Scripts de collecte Asterisk
Voici un script vous permettant de collecter les données de votre machine pour les envoyer à votre serveur Zabbix.
#!/bin/bash
case "$1" in
active_calls)
sudo asterisk -rx "core show channels" | grep "active call" | awk '{print $1}'
;;
registered_peers)
sudo asterisk -rx "pjsip show contacts" | grep "Avail" | wc -l
;;
unavail_peers)
sudo asterisk -rx "pjsip show contacts" | grep "Unavail\|NonQual" | wc -l
;;
service_status)
systemctl is-active asterisk | grep -c "active"
;;
esac
Le fichier à modifier est le suivant : /etc/zabbix/zabbix_agent2.conf
N'oubliez pas de rendre le fichier exécutable avec la commande suivante :
sudo chmod +x /etc/zabbix/scripts/asterisk_stats.sh
Ajouter les UserParamèters
Ajouter le contenu ci-dessous à la fin du fichier "/etc/zabbix/zabbix_agent2.conf" afin d'ajouter les UserParameters".
UserParameter=asterisk.active_calls,/etc/zabbix/scripts/asterisk_stats.sh active_calls
UserParameter=asterisk.registered_peers,/etc/zabbix/scripts/asterisk_stats.sh registered_peers
UserParameter=asterisk.unavail_peers,/etc/zabbix/scripts/asterisk_stats.sh unavail_peers
UserParameter=asterisk.service_status,/etc/zabbix/scripts/asterisk_stats.sh service_status
Puis :
Activer et relancer votre client Zabbix.
sudo systemctl enable zabbix-agent2
sudo systemctl restart zabbix-agent2
Autoriser Zabbix à lancer Asterisk
sudo visudo
```
Ajouter :
```
zabbix ALL=(ALL) NOPASSWD: /usr/sbin/asterisk
04 - Configuration
1) Configuration
Langue
Une fois sur l'interface web, la configuration de Zabbix commence. Vous commencerez par simplement choisir votre langue.
Vérification des Prérequis
A cette étape, vous n'aurez besoin que de vérifié que tous les prérequis sont bien "OK".
Configuration de la connexion à la BDD
A cette étapes, vous devrez remplir les différentes informations pour que la connexion entre Zabbix et la base de données se déroule correctement.
Pensé a bien noté ces identifiant dans un gestionnaire de mot de passe !!!
Paramétrage
Ici vous n'aurez cas remplir le nom de votre serveur, son fuseau horaire par defaut (pourras être changé plus tard) et si vous le souhaitez un thème.
Résumé
Pour finir, vous aurez un résumé de pré-installation, n'hésitez pas à stocker les informations qui pourraient être utilisées plus tard.
Connexion
Une fois ces étapes réalisées, vous aurez accès à l'interface web de Zabbix.
Identifiant par défaut :
- Login : Admin
- Mdp : zabbix
05 - Dashboard
1) Tableau de bord - Supervision VoIP
Ce tableau de bord supervise le serveur Asterisk 18 (VM 192.168.10.69) ainsi que les trois téléphones IP du projet. Les données sont collectées via SNMPv3 et complétées par des vérifications ICMP.
Hôtes supervisés
|
Équipement |
Adresse IP |
Protocole |
Template Zabbix |
|
Asterisk 18 (VM) |
192.168.10.69 |
SNMP v3 + ICMP |
Linux by Zabbix agent |
Widget du tableau de bord
|
Widget |
Métrique collectée |
Seuil / Alerte |
|
Statut ICMP Asterisk |
Ping vers 192.168.10.69 |
Alerte si indisponible |
|
Charge CPU serveur |
system.cpu.util (% utilisé) |
Alerte si > 80 % |
|
Mémoire RAM |
vm.memory.size[available] |
Alerte si < 100 Mo libres |
|
Uptime Asterisk |
sysUpTime (SNMP OID .1.3.6.1.2.1.1.3.0) |
Alerte si redémarrage |
|
Statut téléphones IP |
ICMP ping x3 postes |
Alerte si poste injoignable |
|
Appels actifs |
Asterisk AMI / SNMP MIB |
Informatif |
2) Tableau de bord - Supervision Wi-Fi
Ce tableau de bord supervise le point d'accès Cisco WAP150 (192.168.10.198) via SNMPv3 en mode authPriv (SHA-1 + DES). Le firmware a été mis à jour en version 1.1.4.0 pour corriger un bug qui empêchait la persistance des identifiants SNMPv3 SHA+DES.
Hôtes supervisés
|
Équipement |
Adresse IP |
Protocole |
Template Zabbix |
|
Cisco WAP150 |
192.168.10.198 |
SNMPv3 authPriv |
Network Generic Device by SNMP |
Paramètres SNMPv3 configurés dans Zabbix
|
Paramètre |
Valeur |
|
Version SNMP |
SNMPv3 |
|
Utilisateur |
zabbix |
|
Niveau de sécurité |
authPriv |
|
Protocole d'authentification |
SHA-1 |
|
Protocole de chiffrement |
DES |
Widget du tableau de bord
|
Widget |
Métrique collectée |
Seuil / Alerte |
|
Bande passante entrante |
ifInOctets (bits/s) |
Informatif |
|
Bande passante sortante |
ifOutOctets (bits/s) |
Informatif |
|
Statut ICMP |
Ping vers 192.168.10.198 |
Alerte si indisponible |
|
Latence réseau |
Temps de réponse ICMP (ms) |
Alerte si > 100 ms |
|
Uptime équipement |
sysUpTime (.1.3.6.1.2.1.1.3.0) |
Alerte si redémarrage |
|
Statut interface |
ifOperStatus (up/down) |
Alerte si interface down |
Le tableau de bord Zabbix ci-dessus illustre concrètement le problème de connectivité rencontré avec le point d'accès WAP150. On observe que le widget Statut WAP-WiFi affiche Down via ICMP ping, que le graphique Bande passante wlan0 ne remonte aucune donnée, et que le widget Alertes WAP-WiFi signale un PROBLÈME actif depuis le 01/06/2026 à 13h09, sans date de récupération. Ces indicateurs confirment que Zabbix ne parvient pas à joindre le WAP150 en ICMP.
La cause identifiée est la suivante : lorsque le WAP150 est branché sur le switch Cisco, il provoque un crash de ce dernier, rendant l'ensemble du réseau du projet indisponible. Le switch redémarre alors automatiquement, ce qui coupe toute connectivité le temps du redémarrage. Le WAP150 est donc resté débranché du switch pour ne pas perturber les autres services du projet, ce qui explique l'absence totale de réponse ICMP et SNMP constatée dans Zabbix.
Une alerte email a bien été reçue par Zabbix lors de l'apparition du problème, confirmant que le système de notification fonctionne correctement. Cette alerte indiquait l'indisponibilité de l'hôte WAP-WiFi et la perte de l'ICMP ping, ce qui valide le bon fonctionnement du mécanisme de supervision même en situation de panne.
3) Bilan
|
Élément supervisé |
Statut |
Observations |
|
Serveur Asterisk 18 |
Operationnel |
SNMP v3 + ICMP — dashboard actif |
|
Téléphones IP (x2) |
Operationnel |
ICMP — statut en temps réel |
|
Cisco WAP150 |
Operationnel |
SNMPv3 authPriv — dashboard actif |
|
Alertes Zabbix (email) |
Operationnel |
Bloqué : pas d'accès internet sur VM Zabbix |
|
Supervision PDU ATEN PE7208G |
Non fait |
A réaliser |
|
Supervision APC Smart-UPS |
Non fait |
A réaliser |
Concernant le PDU ATEN PE7208G et l'onduleur APC Smart-UPS, la supervision via Zabbix n'a pas pu être réalisée dans les délais du projet. Ces deux équipements supportent le protocole SNMP et auraient pu être intégrés selon la même méthode que le WAP150, en créant un hôte Zabbix avec le template adapté et en configurant les OID correspondants (état des prises pour le PDU, niveau de batterie et statut d'alimentation pour l'onduleur). Le temps consacré à la résolution des problèmes techniques rencontrés sur d'autres parties du projet (recompilation NET-SNMP, problème de connectivité ARP du portail captif) n'a pas permis d'avancer sur ces deux éléments. Leur supervision reste une évolution prioritaire à mettre en place en fin de projet si le temps le permet.
06 - Idées Dashboards
Asterisk / Téléphonie
- Nombre d'appels actifs en temps réel
- Nombre de postes enregistrés (Avail/Unavail)
- Durée moyenne des appels
- État du service Asterisk (up/down)
- CPU/RAM de la VM Debian
PDU
- Consommation électrique globale (Watts)
- Consommation par prise
- Température interne
- Alertes de surcharge
- État de chaque prise (on/off)
Onduleur (UPS)
- Niveau de batterie (%)
- Autonomie restante (minutes)
- Tension d'entrée/sortie
- État de charge (sur secteur / sur batterie)
- Température batterie
- Alertes : batterie faible, coupure secteur
Point d'accès WiFi
- Nombre de clients connectés
- Signal moyen
- Bande passante utilisée (upload/download)
- État des SSIDs
- Température
Dashboard global
Un écran de synthèse avec :
- Carte du réseau avec statut vert/rouge de chaque équipement
- Graphes de consommation électrique sur 24h/7j
- Alertes actives en cours
- Disponibilité globale en %
07 - Messagerie
1) Installation de Postfix
Dépendance
Installation des dépendance de postfix.
sudo apt update
sudo apt install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules
Configuration
Pour configurer postfix, il faut compléter la configuration ci-dessous.
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Les informations ci-dessus son à compléter dans le fichier suivant : /etc/postfix/main.cf
Ajout identifiant Gmail
Créer le fichier suivant :
sudo nano /etc/postfix/sasl_passwd
Il faut ajoute l'adresse email ainsi que le mot de passe :
[smtp.gmail.com]:587 projet-irs@gmail.com:TON_MOT_DE_PASSE_APP
Il faut bien utiliser son mot de passe d'application, pas son vrai mot de passe
Sécurité
sudo chmod 600 /etc/postfix/sasl_passwd
sudo postmap /etc/postfix/sasl_passwd
Test envoi
La commande suivante permet de tester l'envoie d'un mail.
echo "Test mail" | mail -s "Test Zabbix" projet-irs@gmail.com
2) Configuration de Zabbix
Connexion Mail
Dans l’interface web de Zabbix :
- Va dans Alertes → Types de média
- Configure Email :
- SMTP server :
localhost - SMTP helo : ton hostname
- SMTP email :
projet-irs@gmail.com
- SMTP server :
Association Mail / utilisateur
Afin que Zabbix sache à qui envoyé l'alerte, il faut configurer l'utilisateur avec l'adresse mail de destination.
Dans l’interface web de Zabbix :
- Va dans Utilisateurs → Utilisateurs
- Configure Média dans l'utilisateur Admin:
Action
Maintenant que tout est configuré, il faut maintenant créé une action.
Dans l’interface web de Zabbix :
- Va dans Alertes → Actions → Créé une actions
- Configure l'action :
- Nom :
Alerte Problème - Conditions : Le problème est supprimé : non
- Nom :
- Configure l'opération :
- Opérations :
Envoyer au utilisateur : Admin
- Opérations :
3) Résultat
A partir de ce moment la, lorsqu'un problème est détecté une alerte est automatiquement envoyé au trois adresses configurés
4) Source
https://www.zabbix.com/documentation/6.0/fr/manual/quickstart/notification
https://www.zabbix.com/documentation/4.2/fr/manual/quickstart/notification#:~:text=La%20livraison%20des%20notifications%20est,marqu%C3%A9s%20d'un%20ast%C3%A9risque%20rouge.