Installer Zabbix, ajouter des hôtes à superviser, créer des triggers et configurer des alertes email.
Debian 13 pour le serveur Zabbix. Accès root. MariaDB installé ou à installer. Réseau fonctionnel vers les machines à superviser.
| Composant | Rôle |
|---|---|
| Zabbix Server | Serveur central — collecte les données, gère les alertes |
| Zabbix Agent | Installé sur chaque machine supervisée — remonte les métriques |
| Zabbix Frontend | Interface web (PHP) pour configurer et visualiser |
| Base de données | MySQL/MariaDB ou PostgreSQL — stocke les métriques et config |
| Zabbix Proxy | Proxy pour superviser des réseaux distants ou isolés |
# Ajouter le dépôt Zabbix wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian13_all.deb sudo dpkg -i zabbix-release_7.0-1+debian13_all.deb sudo apt update # Installer Zabbix Server, Frontend, Agent et MariaDB sudo apt install zabbix-server-mysql zabbix-frontend-php \ zabbix-apache-conf zabbix-sql-scripts zabbix-agent \ mariadb-server -y
# Créer la base de données Zabbix sudo mysql -u root << EOF CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZabbixPass!'; GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost'; SET GLOBAL log_bin_trust_function_creators = 1; FLUSH PRIVILEGES; EOF # Importer le schéma de base de données zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \ mysql -u zabbix -p zabbix # Désactiver log_bin_trust après import sudo mysql -u root -e "SET GLOBAL log_bin_trust_function_creators = 0;"
# Configurer le mot de passe DB dans Zabbix Server sudo nano /etc/zabbix/zabbix_server.conf # Modifier : DBPassword=ZabbixPass! # Démarrer les services sudo systemctl enable --now zabbix-server zabbix-agent apache2 sudo systemctl status zabbix-server
URL : http://IP_SERVEUR/zabbix Login : Admin Password : zabbix (à changer immédiatement !) Assistant de configuration : 1. Welcome → Next 2. Prerequisites → Vérifier que tout est en vert → Next 3. DB Connection → Hôte: localhost, Base: zabbix, User: zabbix, Pass: ZabbixPass! 4. Server details → Nom du serveur Zabbix 5. Pre-installation → Vérifier → Next 6. Install → Finish
# Sur la machine à superviser (Debian) wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian13_all.deb sudo dpkg -i zabbix-release_7.0-1+debian13_all.deb sudo apt update && sudo apt install zabbix-agent2 -y # Configurer l'agent sudo nano /etc/zabbix/zabbix_agent2.conf
# /etc/zabbix/zabbix_agent2.conf — paramètres clés
Server=192.168.1.10 # IP du serveur Zabbix
ServerActive=192.168.1.10 # Pour le mode actif
Hostname=mon-serveur-web # Nom de cet hôte (doit correspondre dans l'UI)
sudo systemctl enable --now zabbix-agent2
# Ouvrir le port dans UFW si actif
sudo ufw allow 10050/tcp
Configuration > Hosts > Create host Host name : mon-serveur-web (identique à Hostname dans l'agent) Groups : Linux servers Agent interface : Type : Agent IP address : 192.168.1.20 Port : 10050 Templates : → Cliquer Select → Choisir "Linux by Zabbix agent" → Add → Add (créer l'hôte) Attendre 1-2 minutes → le statut passe en vert (ZBX)
Trigger (condition d'alerte) :
Configuration > Hosts > mon-serveur-web > Triggers > Create trigger
Name : CPU élevé sur {HOST.NAME}
Expression: last(/mon-serveur-web/system.cpu.util)>80
Severity : Warning (ou High)
→ Add
Alerte email :
Administration > Media types > Email
SMTP server : smtp.gmail.com (ou votre SMTP)
SMTP port : 587
SMTP email : expediteur@gmail.com
Authentication : Username + Password
Configuration > Users > Admin > Media
Type : Email
Send to : votre@email.fr
→ Update
Configuration > Actions > Trigger actions
→ Create action : envoyer email si trigger = Problem
✅ Réponse : Zabbix Agent
✅ Réponse : 10050
✅ Réponse : Une condition qui déclenche une alerte quand elle est vraie
✅ Réponse : Un ensemble d'items, triggers et graphes préconfigurés pour Linux
✅ Réponse : MySQL/MariaDB