Zabbix

00 - Comparatif Zabbic Vs Grafana Vs Centreon

1) Objectif des outils

Zabbix — Solution de supervision complète

Grafana — Plateforme de visualisation

Centreon — Supervision orientée entreprise

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

Grafana

Centreon

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

Debian-Zabbix

Asterisck

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

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

zabbix.png


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.

zabbix.png

Vérification des Prérequis

A cette étape, vous n'aurez besoin que de vérifié que tous les prérequis sont bien "OK".

1.png

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 !!!

2.png

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.

3.png

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.

4.png

Connexion

Une fois ces étapes réalisées, vous aurez accès à l'interface web de Zabbix.

Identifiant par défaut : 

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

image.png



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

image.png

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

PDU

Onduleur (UPS)

Point d'accès WiFi

Dashboard global

Un écran de synthèse avec :

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 :

image.png

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 :

image.png

Action

Maintenant que tout est configuré, il faut maintenant créé une action.

Dans l’interface web de Zabbix :

image.png

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

image.png

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.