Dans le cadre de mon stage en entreprise, il m'a été confié la mission de remplacer le serveur de supervision EON, en fin de vie, par une solution plus moderne et pérenne : Zabbix.
Le serveur EON ne répondait plus aux besoins de l'infrastructure : absence de mises à jour, limitations fonctionnelles, et incompatibilité avec les nouveaux équipements. Zabbix a été retenu pour sa fiabilité, sa flexibilité et sa capacité à superviser des environnements hétérogènes (Linux, Windows, SNMP).
Cette activité vise à déployer un serveur centralisé de supervision pour monitorer l'ensemble de l'infrastructure hébergée sous Hyper-V.
J'ai travaillé sur une infrastructure virtualisée sous Microsoft Hyper-V :
| Nom de la VM | Rôle | OS | Adresse IP |
|---|---|---|---|
zabbix |
Serveur de supervision | Debian 13 (Trixie) | 192.168.1.10 |
srv-linux |
Serveur supervisé | Debian 13 (Trixie) | 192.168.1.2 |
srv-windows |
Serveur supervisé | Windows Server | 192.168.1.3 |
Les adresses IP sont adaptables selon le plan d'adressage du réseau.
Ouverture du Gestionnaire Hyper-V
Création d'une nouvelle machine virtuelle
Configuration de la VM
Désactivation du Secure Boot
Installation de Debian 13
⚠️ Sur Hyper-V Génération 2, le Secure Boot doit être désactivé pour booter sur Linux.
📸 Captures suggérées :
📸 Capture de la console Hyper-V connectée à la VM
Objectif : Préparer le système avant l'installation de Zabbix.
Actions réalisées :
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl nano
Renommage de la machine :
sudo nano /etc/hostname
zabbix
sudo nano /etc/hosts
127.0.0.1 localhost
127.0.1.1 zabbix
📸 Capture du fichier interfaces
Objectif : Assigner une adresse IP fixe au serveur.
Vérification de l'interface réseau :
ip a
Configuration IP statique (adapter eth0 selon le résultat) :
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 1.1.1.1 1.0.0.1
Redémarrage du réseau :
sudo systemctl restart networking
Test de connectivité :
ping -c 4 1.1.1.1
ping -c 4 google.fr
📸 Capture du processus de sécurisation
Objectif : Installer la base de données pour stocker les métriques Zabbix.
Installation :
sudo apt install -y mariadb-server
sudo mariadb-secure-installation
Sécurisation : j'ai répondu y à toutes les questions de sécurisation et défini un mot de passe root fort.
📸 Capture du téléchargement du paquet
Objectif : Installer Zabbix depuis le dépôt officiel pour Debian 13.
Commandes exécutées :
sudo wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian13_all.deb
sudo apt update
✅ Cela ajoute une entrée dans
/etc/apt/sources.list.dpour accéder aux paquets Zabbix 7.0 LTS.
📸 Capture de l'installation
Objectif : Installer le serveur, le frontend web et l'agent Zabbix.
Installation :
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2
📸 Capture du shell MariaDB
Objectif : Créer la base et l'utilisateur dédié à Zabbix.
Connexion à MariaDB :
sudo mysql -uroot
Création de la base et de l'utilisateur :
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'MotDePasseZabbix!';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;
QUIT;
🔑 Remplacer
MotDePasseZabbix!par un mot de passe fort.
📸 Capture de l'import en cours
Objectif : Importer les tables et données de base de Zabbix.
Import du schéma (cette opération peut prendre 30 à 60 secondes) :
sudo -i
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
exit
Rétablissement de l'option de sécurité MariaDB :
sudo mysql -uroot
SET GLOBAL log_bin_trust_function_creators = 0;
QUIT;
📸 Capture du fichier de configuration
Objectif : Indiquer les informations de connexion à la base de données.
Édition du fichier :
sudo nano /etc/zabbix/zabbix_server.conf
Paramètres à vérifier/modifier :
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=MotDePasseZabbix!
Vérification rapide :
sudo grep ^DB /etc/zabbix/zabbix_server.conf
📸 Capture de la configuration Nginx
Objectif : Configurer le serveur web pour héberger l'interface Zabbix.
Édition du fichier Nginx fourni par Zabbix :
sudo nano /etc/zabbix/nginx.conf
Décommenter et adapter :
server {
listen 80;
server_name zabbix;
...
}
Suppression de la configuration par défaut :
sudo rm /etc/nginx/sites-enabled/default
Vérification de la syntaxe :
sudo nginx -t
📸 Capture du statut des services
Objectif : Activer et démarrer tous les services Zabbix.
Commandes exécutées :
sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.4-fpm
sudo systemctl enable zabbix-server zabbix-agent2 nginx php8.4-fpm
Vérification :
sudo systemctl status zabbix-server
📸 Capture de la page d'accueil Zabbix
Objectif : Accéder à l'assistant de configuration web.
J'ai ouvert un navigateur (Chrome ou Firefox) et accédé à : http://192.168.1.10
📸 Capture de la page des prérequis
Objectif : S'assurer que tous les composants nécessaires sont installés.
J'ai vérifié que tous les éléments étaient au vert avant de continuer.
📸 Capture de l'écran de configuration DB
Paramètres renseignés :
| Champ | Valeur |
|---|---|
| Type de base | MySQL |
| Hôte | localhost |
| Port | 3306 |
| Nom de la base | zabbix |
| Utilisateur | zabbix |
| Mot de passe | MotDePasseZabbix! |
📸 Capture des paramètres serveur
Paramètres choisis :
Serveur Zabbix EntrepriseEurope/Paris📸 Capture de la page de login
Identifiants par défaut :
| Champ | Valeur |
|---|---|
| Nom d'utilisateur | Admin |
| Mot de passe | zabbix |
⚠️ J'ai immédiatement changé le mot de passe par défaut via Profil utilisateur → Changer le mot de passe.
📸 Capture de l'installation de l'agent
Objectif : Installer l'agent Zabbix sur le serveur Linux à superviser.
Connexion SSH :
ssh utilisateur@192.168.1.2
Ajout du dépôt et installation :
sudo wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb
sudo dpkg -i zabbix-release_latest_7.0+debian13_all.deb
sudo apt update
sudo apt install -y zabbix-agent2
📸 Capture du fichier de configuration
Objectif : Indiquer l'adresse du serveur Zabbix et le nom de l'hôte.
Édition du fichier :
sudo nano /etc/zabbix/zabbix_agent2.conf
Paramètres modifiés :
Server=192.168.1.10
ListenPort=10050
ServerActive=192.168.1.10
Hostname=srv-linux
⚠️ Le
Hostnamedoit être identique au nom saisi dans l'interface Zabbix (sensible à la casse).
Activation de l'agent :
sudo systemctl restart zabbix-agent2
sudo systemctl enable zabbix-agent2
sudo systemctl status zabbix-agent2
📸 Capture de la création d'hôte
Objectif : Déclarer le serveur Linux dans l'interface Zabbix.
Menu : Collecte de données → Hôtes → Créer un hôte
| Champ | Valeur |
|---|---|
| Nom de l'hôte | srv-linux |
| Modèles | Linux by Zabbix Agent |
| Groupes | Linux servers |
| Interfaces | Agent : 192.168.1.2:10050 |
J'ai cliqué sur Ajouter. Après quelques instants, le statut est passé au vert. ✅
📸 Capture du site de téléchargement
Objectif : Installer l'agent Zabbix sur un serveur Windows.
J'ai téléchargé l'agent depuis : https://www.zabbix.com/download_agents
Paramètres de téléchargement :
📸 Capture de l'assistant d'installation
Objectif : Configurer l'agent pendant l'installation.
Paramètres renseignés dans l'assistant :
| Champ | Valeur |
|---|---|
| Zabbix server IP | 192.168.1.10 |
| Agent listen port | 10050 |
| Hostname | srv-windows |
| Server active | 192.168.1.10 |
L'agent a été installé en tant que service Windows et démarré automatiquement.
📸 Capture de la création de la règle
Objectif : Autoriser le port 10050 en entrée.
Commande PowerShell (en tant qu'administrateur) :
New-NetFirewallRule -DisplayName "Zabbix Agent" -Direction Inbound -Protocol TCP -LocalPort 10050 -Action Allow
📸 Capture de la création d'hôte Windows
Objectif : Déclarer le serveur Windows dans l'interface Zabbix.
Menu : Collecte de données → Hôtes → Créer un hôte
| Champ | Valeur |
|---|---|
| Nom de l'hôte | srv-windows |
| Modèles | Windows by Zabbix Agent |
| Groupes | Windows servers |
| Interfaces | Agent : 192.168.1.3:10050 |
Après quelques instants, le serveur Windows est apparu avec un statut vert. ✅
Dans le cadre de l'amélioration continue du système de supervision, il est prévu d'étendre les capacités de Zabbix en intégrant la supervision d'équipements réseau via le protocole SNMP (Simple Network Management Protocol).
Cette fonctionnalité permettra de superviser :
💡 Le protocole SNMP est un standard de l'industrie permettant de récupérer des informations de supervision sur des équipements réseau sans nécessiter l'installation d'un agent logiciel.
Le protocole SNMP fonctionne selon un modèle client-serveur :
Sur chaque équipement à superviser, il faudra :
ro-communaute-entreprise)Depuis le serveur Zabbix, installation des outils SNMP et test :
sudo apt install -y snmp
snmpwalk -v2c <IP_equipement> -c <communaute>
Dans l'interface Zabbix : Collecte de données → Hôtes → Créer un hôte
Configuration type :
| Champ | Valeur |
|---|---|
| Nom de l'hôte | Nom de l'équipement |
| Modèles | Template adapté (ex: Generic SNMP, Cisco SNMP, HP Printer SNMP) |
| Groupes | Network devices ou groupe approprié |
| Interfaces | Type : SNMP — IP : adresse de l'équipement — Port : 161 |
Modification de la macro {$SNMP_COMMUNITY} au niveau de l'hôte pour correspondre à la communauté configurée.
L'intégration de SNMP dans la supervision permettra de :
Cette fonctionnalité sera mise en œuvre dans une seconde phase du projet, après validation de la supervision des serveurs Linux et Windows. Elle permettra d'obtenir une vision complète et unifiée de l'infrastructure IT de l'entreprise.
💡 Cette évolution s'inscrit dans une démarche d'amélioration continue et de montée en compétences sur les protocoles de supervision réseau.
Ce projet m'a permis de mettre en place une solution de supervision centralisée et moderne pour remplacer l'ancien serveur EON en fin de vie. J'ai déployé Zabbix sur une infrastructure virtualisée sous Hyper-V, et configuré la supervision de serveurs Linux, Windows, et d'équipements réseau via SNMP.
Cette activité m'a apporté de nombreuses compétences techniques :
J'ai également développé ma rigueur dans la documentation technique et ma capacité à gérer un projet de A à Z de manière autonome. La mise en production de ce serveur a renforcé ma compréhension de l'importance de la supervision dans un environnement professionnel, et m'a sensibilisé aux enjeux de disponibilité et de réactivité face aux incidents.
Des axes d'amélioration sont envisageables pour aller plus loin :
🧠 Cette solution permet à l'entreprise de disposer d'une visibilité complète sur son infrastructure et de réagir rapidement en cas d'incident.