Zabbix — Supervision de l'infrastructure IT
Présentation de Zabbix
Zabbix est une solution de supervision réseau et système entièrement open source, développée par Alexei Vladishev depuis 1998 et maintenue par Zabbix LLC. Elle permet de surveiller en temps réel l'état de serveurs physiques, de machines virtuelles, de services cloud, de bases de données et d'équipements réseau, avec une capacité de collecte de millions de métriques par seconde.
Zabbix est distribué sous licence GPL v2, ce qui le rend totalement gratuit, sans limitation du nombre d'hôtes ou d'utilisateurs. Pour une référence complète, consultez la documentation officielle de Zabbix ↗ .
Zabbix 7.0 LTS (Long Term Support) est la version recommandée pour les environnements de production. Elle bénéficie de cinq ans de support incluant correctifs de sécurité et mises à jour de stabilité.
Architecture
L'architecture de Zabbix repose sur plusieurs composants distincts qui communiquent via un protocole propriétaire (port TCP 10050/10051). Cette modularité permet de déployer une infrastructure de supervision hautement disponible et scalable.
Schéma de principe
┌─────────────────────────────────────────────────────────┐
│ ZABBIX SERVER │
│ ┌──────────────┐ ┌───────────┐ ┌───────────────┐ │
│ │ Collecteurs │──▶│ SGBD │──▶│ Interface │ │
│ │ (pollers) │ │ (MariaDB) │ │ Web (PHP) │ │
│ └──────────────┘ └───────────┘ └───────────────┘ │
└──────────┬──────────────────────────────────────────────┘
│ TCP 10051
┌─────────┴──────────┐
│ ZABBIX PROXY │ ← optionnel, pour sites distants
└─────────┬───────────┘
│ TCP 10050
┌──────────┴──────────────────────────┐
│ AGENTS ZABBIX │
│ (Linux, Windows, macOS, FreeBSD…) │
└─────────────────────────────────────┘
Composants principaux
Chaque composant joue un rôle précis dans la chaîne de supervision. Voici les trois éléments fondamentaux à déployer :
Tableau de bord (Dashboard)
Le tableau de bord Zabbix est entièrement personnalisable via un système de widgets glissables-déposables. Il offre une vue globale et en temps réel de l'état de l'infrastructure supervisée.
Ce tableau de bord illustre les capacités de visualisation de Zabbix : graphes de bande passante réseau, indicateurs de disponibilité des hôtes, cartographie topologique et liste des alertes actives. Chaque widget est configurable individuellement et peut être partagé entre plusieurs utilisateurs.
Créez des tableaux de bord distincts par équipe : un pour l'infrastructure système, un pour le réseau, un pour les applications métier. Cela réduit la surcharge cognitive des opérateurs NOC.
Fonctionnalités clés
Protocoles de collecte supportés
Zabbix collecte des métriques via une large gamme de protocoles industriels et ouverts, couvrant ainsi la quasi-totalité des équipements présents dans un datacenter moderne :
Configuration — Installation rapide
La procédure ci-dessous décrit l'installation de Zabbix Server 7.0 sur Ubuntu 22.04 LTS avec une base de données MariaDB et un frontal Apache + PHP 8.1.
1 — Ajout du dépôt Zabbix
# Téléchargement du paquet de configuration du dépôt wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/\ zabbix-release/zabbix-release_7.0-1+ubuntu22.04_all.deb # Installation du paquet sudo dpkg -i zabbix-release_7.0-1+ubuntu22.04_all.deb # Mise à jour des listes de paquets sudo apt update
2 — Installation des composants
sudo apt install -y \ zabbix-server-mysql \ zabbix-frontend-php \ zabbix-apache-conf \ zabbix-sql-scripts \ zabbix-agent
3 — Création de la base de données
# Connexion à MariaDB sudo mysql -uroot -- Création de la base et de l'utilisateur Zabbix CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'MOT_DE_PASSE_FORT'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; FLUSH PRIVILEGES; QUIT;
4 — Import du schéma SQL
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz \
| mysql --default-character-set=utf8mb4 \
-uzabbix -p zabbix
5 — Démarrage des services
sudo systemctl enable --now zabbix-server zabbix-agent apache2 sudo systemctl status zabbix-server
Veillez à configurer le pare-feu pour n'autoriser l'accès au port
10051 (Zabbix Server) qu'aux agents et proxies de confiance.
Le port 10050 (agent) ne doit être accessible qu'au serveur
ou au proxy Zabbix.
Alertes et Triggers
Les triggers sont des expressions logiques évaluées en continu à partir des données collectées. Lorsqu'une expression devient vraie, Zabbix change l'état du trigger (OK → PROBLEM) et déclenche les actions configurées (notification, script, webhook).
Exemple de trigger — charge CPU élevée
{Linux_serveur_web:system.cpu.load[all,avg1].avg(5m)} > 4
Cette expression déclenche une alerte si la charge CPU moyenne sur les
5 dernières minutes dépasse la valeur 4 sur l'hôte
Linux_serveur_web.
Niveaux de sévérité
Zabbix propose six niveaux de sévérité permettant de prioriser les alertes : Not classified, Information, Warning, Average, High et Disaster. Chaque niveau peut disposer de règles d'escalade et de canaux de notification distincts.
Performances & capacité
Les chiffres suivants correspondent à un déploiement sur un serveur dédié (16 vCPU, 32 Go RAM, SSD NVMe) avec une base de données MariaDB optimisée. Les barres ci-dessous sont animées au défilement.
Consultez la page des prérequis matériels de la documentation officielle ↗ pour dimensionner précisément votre infrastructure Zabbix en fonction du nombre d'éléments supervisés.