← Retour au portail

Fiche 2 - Zabbix — Supervision réseau et système

Installer Zabbix, ajouter des hôtes à superviser, créer des triggers et configurer des alertes email.

Avancé — SISR 2ème année ⏱️ 30 min 📁 Supervision

🎯 Objectifs de la fiche

  1. Présentation de Zabbix — Architecture, composants, agent vs SNMP
  2. Installation Zabbix Server — Debian, MariaDB, Apache2, Zabbix
  3. Ajouter un hôte à superviser — Agent Zabbix, templates, items
  4. Triggers et alertes — Conditions d'alerte, sévérité, email
  5. Tableaux de bord — Dashboards, graphiques, maps

Prérequis

Debian 13 pour le serveur Zabbix. Accès root. MariaDB installé ou à installer. Réseau fonctionnel vers les machines à superviser.

1. Architecture de Zabbix

ComposantRôle
Zabbix ServerServeur central — collecte les données, gère les alertes
Zabbix AgentInstallé sur chaque machine supervisée — remonte les métriques
Zabbix FrontendInterface web (PHP) pour configurer et visualiser
Base de donnéesMySQL/MariaDB ou PostgreSQL — stocke les métriques et config
Zabbix ProxyProxy pour superviser des réseaux distants ou isolés

2. Installation de Zabbix 7.x sur Debian 13

# 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

3. Accès à l'interface web

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

4. Installer l'agent Zabbix sur un hôte supervisé

# 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

5. Ajouter un hôte dans l'interface web

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)

6. Créer un trigger et une alerte email

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
Quel composant Zabbix est installé sur les machines à superviser ?
  • Zabbix Server
  • Zabbix Frontend
  • Zabbix Agent
  • Zabbix Proxy

✅ Réponse : Zabbix Agent

Sur quel port Zabbix Agent écoute-t-il par défaut ?
  • 10051
  • 10050
  • 8080
  • 161

✅ Réponse : 10050

Qu'est-ce qu'un trigger dans Zabbix ?
  • Un agent de collecte de données
  • Une condition qui déclenche une alerte quand elle est vraie
  • Un tableau de bord de visualisation
  • Un modèle de configuration pré-défini

✅ Réponse : Une condition qui déclenche une alerte quand elle est vraie

Que contient un template Zabbix comme Linux by Zabbix agent ?
  • L'OS Linux à installer sur le serveur
  • Un ensemble d'items, triggers et graphes préconfigurés pour Linux
  • Le fichier de configuration de l'agent
  • Les règles de pare-feu pour Zabbix

✅ Réponse : Un ensemble d'items, triggers et graphes préconfigurés pour Linux

Quelle base de données Zabbix utilise par défaut sur Debian ?
  • PostgreSQL
  • SQLite
  • MySQL/MariaDB
  • MongoDB

✅ Réponse : MySQL/MariaDB