Zabbix – Supervision Debian 12 (Linux + Windows)








Zabbix sur Debian 12 – supervision hétérogène
Mise en place d’une plateforme Zabbix complète : MariaDB, zabbix-server, frontend Apache/PHP, et agents Linux & Windows. Réseau VirtualBox séparé (NAT + intnet) et activation de templates (dont Apache).
- Réseau : NIC1 NAT / NIC2 intnet
- Hôtes : Linux (192.168.100.20), Windows (192.168.100.15)
- Frontend :
http://192.168.100.10/zabbix
Déployer Zabbix sur Debian 12 avec base MariaDB, frontend
Apache/PHP, et superviser 2 hôtes (Linux & Windows).
Topologie : NAT (internet) + intnet (supervision) avec IPs fixes.
Agents en passive checks (10050/TCP) et active checks (10051/TCP).
# Pré-requis LAMP
sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 mariadb-server php php-mysql php-gd php-xml php-mbstring \
libapache2-mod-php unzip wget
# Paquets Zabbix
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf \
zabbix-sql-scripts zabbix-agent
# Base MariaDB
sudo mysql -u root <<'SQL'
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER "zabbix"@"localhost" IDENTIFIED BY "motdepasse_solide";
GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"localhost";
FLUSH PRIVILEGES;
SQL
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -u zabbix -p zabbix
# /etc/zabbix/zabbix_server.conf
# DBName=zabbix ; DBUser=zabbix ; DBPassword=motdepasse_solide
sudo systemctl restart zabbix-server zabbix-agent apache2
sudo systemctl enable zabbix-server zabbix-agent apache2
Accès : http://[IP_SERVER]/zabbix
→ wizard, timezone Europe/Paris, puis login Admin/zabbix (à changer).
sudo apt install -y zabbix-agent
sudo sed -i 's/^Server=.*/Server=192.168.100.10/' /etc/zabbix/zabbix_agentd.conf
sudo sed -i 's/^ServerActive=.*/ServerActive=192.168.100.10/' /etc/zabbix/zabbix_agentd.conf
echo "Hostname=test-entretien" | sudo tee -a /etc/zabbix/zabbix_agentd.conf
sudo systemctl restart zabbix-agent && sudo systemctl enable zabbix-agent
# Contrôles rapides depuis le serveur
sudo apt -y install zabbix-get
zabbix_get -s 192.168.100.20 -k agent.ping # → 1
zabbix_get -s 192.168.100.20 -k system.hostname
Frontend → Configuration → Hôtes → Créer : IP 192.168.100.20:10050, groupe Linux servers, modèle Linux by Zabbix agent. L’icône doit passer au vert (ZBX).
# Côté Windows (Invite admin)
# Installer l'agent, éditer C:\Program Files\Zabbix Agent\zabbix_agentd.conf :
Server=192.168.100.10
ServerActive=192.168.100.10
Hostname=WIN10-DIGDASH
# Pare-feu
netsh advfirewall firewall add rule name="Zabbix Agent" dir=in action=allow protocol=TCP localport=10050
# Service
sc start "Zabbix Agent"
VirtualBox : 2 NIC (NAT + intnet), IP statique 192.168.100.15/24 sur la NIC intnet. Déclarer l’hôte dans Zabbix comme pour Linux.
- Import d’un modèle officiel : Template App Apache by Zabbix agent (droits Super Admin requis) puis liaison à l’hôte.
- Métriques vues : CPU, RAM, Swap, Process, Disques (espace & I/O), réseau, et stats Apache (requêtes, workers, latence…).
- ZBX grisé : mauvaise IP/port ou agent arrêté → corriger
zabbix_agentd.conf
,systemctl status
, testerzabbix_get
. - zabbix-server KO : mot de passe DB incohérent → réaligner
/etc/zabbix/zabbix_server.conf
et l’utilisateur MariaDB, redémarrer. - Windows non joignable : NIC intnet absente → ajouter 2ème NIC + IP statique 192.168.100.15/24.
# Services
systemctl status zabbix-server zabbix-agent apache2 mariadb
systemctl restart zabbix-server zabbix-agent apache2 mariadb
systemctl enable zabbix-server zabbix-agent apache2
# Sauvegarde DB
mysqldump -u root -p zabbix > /root/backup_zabbix_$(date +%F).sql
# Logs
/var/log/zabbix/zabbix_server.log
/var/log/zabbix/zabbix_agentd.log
/var/log/apache2/
# Réseau & tests
ping 192.168.100.20
nc -zv 192.168.100.20 10050
zabbix_get -s 192.168.100.20 -k agent.ping
Bonnes pratiques : changer immédiatement Admin/zabbix, mots de passe DB forts, limiter Server=
sur les agents, NTP actif.
Résultats obtenus
- Plateforme opérationnelle : Zabbix 6.x sur Debian 12 (MariaDB + Apache/PHP), accès web fonctionnel et agents Linux/Windows joignables.
- Couverture multi-OS : collecte CPU/RAM/disques/process, tests
zabbix_get
validés, templates appliqués (Linux by Zabbix agent, Template App Apache). - Topologie maîtrisée : réseau VirtualBox NAT + intnet, IP statiques, ports 10050/10051 opérationnels (checks passifs/actifs).
- Runbook & scripts : installation serveur automatisée, script agent Linux, mémo commandes (services, DB, logs, réseau).
- Dépannage documenté : cas réels (ZBX grisé, auth DB, NIC manquante) et résolutions pas-à-pas → reproductibilité des fixes.
Plus-values (techniques & métier)
- Industrialisation : déploiement standardisé + configuration idempotente → environnements de démo/formation rapides.
- Observabilité de base : visibilité immédiate sur la santé des hôtes et du service Apache → détection précoce des dérives.
- Sécurité pragmatique : séparation de réseau, durcissement des comptes, alignement des secrets DB → surface d’attaque réduite.
- Transférable en prod : architecture simple à étendre (reverse proxy, TLS, alerting mail/Teams/Slack, auto-discovery).
- Gain d’exploitation : procédures claires (install, ajout d’hôtes, troubleshooting) → moins de temps perdu lors des incidents.
Ce que le projet m’a appris
- Conduire une supervision hétérogène de bout en bout (serveur, agents, modèles, réseau, sécurité).
- Relier technique et usage : partir d’un besoin d’observabilité et livrer un socle exploitable par l’équipe.
- Documenter pour la pérennité : scripts, runbook et dépannage capitalisés pour accélérer les futures mises en place.