🧭 0) Objectif & rôle de la supervision
Mettre en place une supervision centralisée avec Zabbix pour surveiller la disponibilité et la performance du SI (serveurs, services, réseau), déclencher des alertes pertinentes, et visualiser les tendances dans Grafana pour le pilotage et le capacity planning.
- Détection rapide des incidents (taux d’alerte utile > 95%).
- Vue consolidée des ressources (CPU, RAM, disques, services).
- Alerting multi‑canal (Email / Teams / SMS), escalades et silences.
- Reporting visuel & KPI (SLA, disponibilité, volumes) dans Grafana.
1) Architecture
- Zabbix Server (Debian/Ubuntu) + MariaDB + Frontend PHP.
- Agents Zabbix sur Linux/Windows (TLS 1.2/1.3).
- LLD : détection auto des disques, interfaces, services.
- Découverte réseau pour ajout d’hôtes (ICMP/TCP).
- Grafana connecté à l’API Zabbix.
# Paquets serveur
sudo apt update
sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
zabbix-apache-conf zabbix-agent mariadb-server
# Base de données
sudo mysql_secure_installation
mysql -uroot -p -e "
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'motdepasse';
"
# Démarrage
sudo systemctl enable --now zabbix-server zabbix-agent apache2 mariadb
2) Agents & templates
Linux
sudo apt install -y zabbix-agent
sudo sed -i 's/^Server=.*/Server=IP_ZABBIX/g' /etc/zabbix/zabbix_agentd.conf
sudo sed -i 's/^ServerActive=.*/ServerActive=IP_ZABBIX/g' /etc/zabbix/zabbix_agentd.conf
sudo systemctl enable --now zabbix-agent
Windows
# MSI silencieux (ex. GPO/SCCM/Intune)
msiexec /i zabbix_agent.msi /qn SERVER=IP_ZABBIX SERVERACTIVE=IP_ZABBIX HOSTNAME=%COMPUTERNAME%
Affecter les templates :
Template OS Linux by Zabbix agentTemplate OS Windows by Zabbix agentTemplate App Nginx,Template DB MySQLsi besoin
3) Découverte (LLD) & inventaire
- LLD disques, interfaces, partitions, services, certificats.
- Discovery Rules réseau sur sous-réseaux internes (ICMP/TCP).
- Groupes d’hôtes par rôle (Infra, SQL, Web, Windows, Linux).
- Dépendances : switch ⇒ hyperviseur ⇒ VM ⇒ service (pour corrélation).
4) Alerting & intégrations
- Canaux : SMTP (O365/Postfix), Teams (Webhook), SMS (gateway).
- Escalade : N+1 après x minutes, ack obligatoire, fenêtres de maintenance.
- Auto‑fermeture : close sur recovery, corrélation d’événements.
- Runbooks : lien vers procédure de résolution (wiki interne).
# Exemple d'action (pseudo)
If trigger severity >= High AND host group = "Production"
THEN notify "Team-Infra" via Teams + Email
ELSE ignore during maintenance windows
5) Intégration Grafana & dashboards
- Installer le Data Source Zabbix dans Grafana.
- Créer des dashboards par scope : Global, OS, App, Réseau.
- Variables (host, groupe, service) pour explorer dynamiquement.
- Exports PDF automatiques (mensuel) pour le comité de pilotage.
# Variables Grafana (exemples)
$group = Host Group
$host = Host
$metric = Item key (cpu.util[,system])
6) Sécurité & RGPD
- TLS entre agents et serveur ; certificats (auto‑signés ou PKI).
- Comptes limités par rôle (lecture seule pour Grafana).
- Données collectées = techniques (pas de données perso).
- Rotation des logs & rétention métriques (ex. 6 mois) selon besoin légal.
7) Exploitation quotidienne
- Dashboard d’overview par équipe (Infra / Applicatif).
- Revue quotidienne des triggers actifs & tendance erreurs.
- Capacity planning : CPU/RAM/disques > 80 %.
- Rapport de disponibilité mensuel (SLA, MTTR, MTBF).
8) Dépannage
# Agent muet (Linux)
sudo systemctl status zabbix-agent
sudo tail -n 100 /var/log/zabbix/zabbix_agentd.log
nc -zv IP_ZABBIX 10051
# BDD volumineuse
mysql -uroot -p -e "SHOW TABLE STATUS FROM zabbix;"
# purges / housekeeper / compression historique
← Retour aux réalisations
Zabbix
Grafana
LLD
Alerting