Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

📡 Zabbix – Supervision, Alerting & MĂ©triques (NMS)

Guide complet IDEO-Lab sur la plateforme de supervision "All-in-One" Zabbix.

1.1

Concept : NMS All-in-One

Network Management System, Open Source, All-in-One.

NMS Open Source
1.2

Architecture (Composants)

Server, Database (SQL), Web (PHP), Agent, Proxy.

Server Agent Proxy
1.3

vs. Nagios

Intégré (DB/Graphs) vs. Check-based (Scripts).

Nagios Comparatif
2.1

Concept : HĂŽte & Groupe

HĂŽte (Le "Quoi"), Groupe (Le "OĂč").

HĂŽte Groupe
2.2

Concept : Item (Métrique)

La donnée brute (Clé, Intervalle, Type, History/Trends).

Item Métrique Key
2.3

Agent : Passif vs Actif

Pull (Serveur -> Agent) vs. Push (Agent -> Serveur).

Agent Passif Agent Actif
3.1

Concept : Trigger (Seuil)

Expression ({Host:Key.func()} > 5), Hystérésis.

Trigger Seuil
3.2

Concept : Event vs ProblĂšme

ÉvĂ©nement (Log) vs ProblĂšme (État "DOWN"). Event Problem

3.3

Concept : Action & Média

Condition (Si) -> Opération (Alors). (Email, Slack).

Action Média Webhook
4.1

Concept : Template (ModĂšle)

Le pilier. Set (Items, Triggers, Graphs) réutilisable.

Template Automatisation
4.2

Auto-Discovery : LLD

Low-Level Discovery (Interfaces, Disques, K8s).

LLD Discovery
4.3

LLD : Prototypes

Item Prototype, Trigger Prototype (gabarits).

Prototype LLD
5.1

Collecte : Zabbix Agent

zabbix_agentd, UserParameter (Scripts).

Agent UserParameter
5.2

Collecte : SNMP

Monitoring Agentless (Switchs, Routeurs, Imprimantes).

SNMP Agentless
5.3

Collecte : Autres

JMX, IPMI, Simple Check (Ping), ODBC.

JMX IPMI Ping
6.1

Architecture : Zabbix Proxy

Scaling (Collecte déportée), Buffering, Sites distants.

Proxy Scalabilité
6.2

Fonction : Web Monitoring

Scénarios (Synthetics). Login, Clics, Check (Texte/Code).

Synthetics Web
6.3

Fonction : Dashboards

Visualisation (Graphs, Maps, Problems). Intégration Grafana.

Dashboard Grafana
7.1

Admin : Maintenance

Mode maintenance (Stop Alerting, Continue Collecting).

Maintenance Alertes
7.2

Cheat-sheet : Outils CLI

zabbix_get (Test Agent Passif), zabbix_sender (Push Actif).

zabbix_get zabbix_sender
7.3

vs. Prometheus

Agent (Push/Pull) vs. Scrape (Pull). IT vs Cloud Native.

Prometheus Comparatif
1.1 Concept : NMS All-in-One
Qu'est-ce que Zabbix ?

Zabbix est une solution de supervision (NMS - Network Management System) "All-in-One", mature et open-source.

Contrairement à des outils plus anciens (comme Nagios), Zabbix est une solution intégrée qui gÚre l'ensemble du cycle de supervision :

  1. Collecte : (Agent, SNMP, JMX, Ping...)
  2. Stockage : (Base de données SQL - MySQL, Postgres)
  3. Analyse & Seuil : (Moteur de Triggers)
  4. Alerting : (Actions, Médias)
  5. Visualisation : (Interface Web PHP, Dashboards, Graphes)
Le Flux Zabbix
1. [Template] (Définit les checks)
      │
      ▌
2. [Item] (Collecte 1 métrique, ex: "CPU Load")
      │
      ▌
3. [Trigger] (Analyse la métrique, ex: "SI CPU > 90%")
      │
      â–Œ (État = PROBLÈME)
4. [Action] (Définit la réaction)
      │
      ▌
5. [Média] (Envoie l'alerte, ex: "Email", "Slack")
1.2 Architecture (Composants)

Une installation Zabbix (non-proxy) comporte 3 composants principaux :

                                    +-----------------+
                                    | [INTERFACE WEB] | (PHP, Nginx/Apache)
                                    +-----------------+
                                        │ (Navigateur)
                                        ▌
                                    [ ADMIN ]
                                        │ (Configure)
                                        ▌
+-------------------------------------------------------------------------+
| [ SERVEUR ZABBIX ] (Daemon: zabbix_server)                              |
|                                                                         |
|  (Logiciel "Core" : Pollers, Trappers, Alerting, Logique...)            |
|                                                                         |
|  (Lit/Écrit la Config & l'Historique)                                     |
|     │                                                                   |
|     ▌                                                                   |
| [ BASE DE DONNÉES ] (MySQL, Postgres)                                     |
+-------------------------------------------------------------------------+
    │               â–Č                  â–Č                  â–Č
    │ (Polling)     │ (Trap)           │ (Agent Actif)    │ (Agent Passif)
    │ (SNMP)        │ (SNMP)           │ (Push)           │ (Pull)
    â–Œ               │                  │                  │
[ Switch ]    [ Imprimante ]     [ Serveur Web ]      [ Serveur DB ]
                                (Agent Zabbix)     (Agent Zabbix)
  • Zabbix Server (zabbix_server) : Le "cerveau". Daemon (C) qui effectue le polling (SNMP, Passif), reçoit les donnĂ©es (Actif, Traps) et Ă©value les Triggers.
  • Database (BDD) : (MySQL/Postgres) Crucial. Stocke toute la configuration (HĂŽtes, Items, Triggers) ET toutes les donnĂ©es collectĂ©es (Historique, Trends).
  • Web UI (Frontend) : L'interface (PHP) pour configurer, voir les dashboards et les problĂšmes.
  • Zabbix Agent (zabbix_agentd) : (Optionnel) Le service installĂ© sur les hĂŽtes Ă  superviser (Linux, Windows).
  • Zabbix Proxy (zabbix_proxy) : (Optionnel) Collecteur dĂ©portĂ© pour les sites distants/scalabilitĂ© (voir 6.1).
1.3 Comparaison : Zabbix vs. Nagios

Zabbix et Nagios (ou son fork Icinga) sont les deux NMS open-source historiques.

CritĂšreZabbixNagios (Core)
PhilosophieIntégré (All-in-One).Modulaire (Core + Plugins).
Stockage DonnéesBase de Données SQL (MySQL/Postgres).Fichiers plats (logs), RRD (via Add-on).
GraphesIntégrés (via Web UI).Non inclus. (Nécessite PNP4Nagios, RRDtool...).
ConfigurationBase de Données (via Web UI).Fichiers Texte (.cfg) (Complexe, reload nécessaire).
CollecteAgent (Actif/Passif), SNMP, JMX...Check-based (Scripts) (check_ping, check_snmp...).
ScalabilitĂ©TrĂšs Ă©levĂ©e (via Proxys).ÉlevĂ©e (via "Gears", "Mod-Gearman").

En résumé : Nagios est un ordonnanceur de scripts (checks) simple et léger. Zabbix est une plateforme de métriques (Time-Series) intégrée.

2.1 Concept : HĂŽte (Host) & Groupe (Host Group)
HĂŽte (Host)

Un HÎte est l'objet (l'entité) que vous souhaitez superviser. C'est l'élément de base de Zabbix.

Un HÎte est défini par :

  • Nom : (ex: SRV-WEB-01)
  • Interface : Comment le joindre ? (ex: Agent 192.168.1.10:10050, ou SNMP 192.168.1.20:161).
  • Templates (ModĂšles) : (Lien) Ce qu'il faut superviser sur cet hĂŽte.
  • Host Groups (Groupes) : (Lien) OĂč il est rangĂ©.
Groupe d'HĂŽtes (Host Group)

Un Groupe est un simple "dossier" logique pour organiser les hĂŽtes.

Usage (Organisation) :

  • Par Type (ex: "Linux Servers", "Windows Servers", "Cisco Switches").
  • Par Lieu (ex: "Datacenter Paris", "Site Lyon").
  • Par Équipe (ex: "Equipe Infra", "Equipe Dev").

Usage (Permissions) : Les groupes sont essentiels pour gérer les permissions (ex: "Le 'RÎle Utilisateur Dev' ne peut voir que les 'Host Group Dev'").

2.2 Concept : Item (Métrique)

L'Item (Métrique) est la donnée brute que Zabbix collecte. C'est la brique fondamentale de la supervision.

ParamÚtres Clés d'un Item
ParamĂštreDescriptionExemple
NomNom lisible."Charge CPU (1 min)"
TypeComment collecter ?Zabbix Agent, SNMPv2 Agent, Simple check (Ping)
Clé (Key)L'identifiant unique de la métrique.system.cpu.load[all,avg1] (Agent)
.1.3.6.1.2.1.1.3.0 (SNMP OID)
Intervalle (Update)Fréquence de collecte.5m (5 minutes), 60s (60 secondes)
Type de DonnéeFormat de la donnée attendue.Numérique (float), CaractÚre, Log, Texte...
History Storage PeriodDurée de stockage des données brutes (pour les graphs).14d (14 jours)
Trend Storage PeriodDurée de stockage des données agrégées (Min/Max/Moy/Heure).365d (1 an)
2.3 Agent : Passif vs. Actif

Un "Item" de type "Zabbix Agent" peut ĂȘtre configurĂ© en mode Passif (dĂ©faut) ou Actif. C'est une distinction cruciale pour l'architecture.

Agent Passif (Server -> Agent)

C'est le mode "Polling" (Pull).

  1. L'Agent (zabbix_agentd) écoute sur le port TCP 10050.
  2. Le Serveur Zabbix (Poller) initie la connexion vers l'Agent (192.168.1.10:10050).
  3. Serveur : "Donne-moi system.cpu.load".
  4. Agent : "La valeur est 1.5".
  • Avantage : Simple Ă  configurer (mode par dĂ©faut).
  • InconvĂ©nient : Le Serveur Zabbix doit pouvoir joindre l'Agent. (ProblĂ©matique si l'Agent est derriĂšre un NAT/Firewall).
Agent Actif (Agent -> Server)

C'est le mode "Trapper" (Push).

  1. Le Serveur Zabbix écoute sur le port TCP 10051.
  2. L'Agent (zabbix_agentd) initie la connexion vers le Serveur (zabbix.ideolab.com:10051).
  3. Agent : "Donne-moi ma liste de checks 'Actifs' (ex: CPU, RAM)."
  4. Serveur : "OK, voici la liste et les intervalles."
  5. Agent : (Exécute les checks localement, met en buffer).
  6. Agent : (Envoie les données en masse au Serveur) "Voici les 50 derniÚres valeurs."
  • Avantage : RecommandĂ©. Scalable (le serveur ne "poll" pas, il attend), et fonctionne parfaitement Ă  travers les Firewalls/NAT (le client initie la connexion sortante).
3.1 Concept : Trigger (Déclencheur)

L'Item collecte la donnée. Le Trigger analyse cette donnée et définit un seuil (Threshold) qui génÚre un état (OK ou PROBLÈME).

Syntaxe (Expression)

La syntaxe d'un trigger est : {HÎte:Clé.fonction(paramÚtre)} Opérateur Valeur

Exemples de Triggers
-- 1. ProblĂšme simple (Charge CPU)
-- (La derniĂšre valeur de 'system.cpu.load' est > 5)
{srv-web-01:system.cpu.load.last()} > 5

-- 2. ProblĂšme (Moyenne sur 5 min)
-- (La moyenne sur 5 minutes est > 10)
{srv-web-01:system.cpu.load.avg(5m)} > 10

-- 3. ProblĂšme (Texte)
-- (La derniùre valeur de 'web.test.fail' est 1 (Échec))
{srv-web-01:web.test.fail.last()} = 1

-- 4. ProblÚme (Absence de données)
-- (Pas de nouvelle donnée (ping) reçue depuis 3 minutes)
{srv-ping:icmpping.nodata(3m)} = 1
Hystérésis (Expression de Rétablissement)

Pour éviter les alertes "flapping" (ON/OFF/ON/OFF), on peut définir un seuil de retour à la normale (OK) différent :

  • Expression ProblĂšme : CPU > 90%
  • Expression OK (HystĂ©rĂ©sis) : CPU < 70%
  • (L'alerte ne disparaĂźtra que lorsque le CPU redescendra sous 70%).
3.2 Concept : Event (ÉvĂ©nement) vs ProblĂšme

C'est une distinction sémantique importante dans Zabbix.

Event (ÉvĂ©nement)

Un ÉvĂ©nement est un fait ponctuel, un "log" (horodatĂ©) d'un changement d'Ă©tat d'un Trigger (ou d'une dĂ©couverte LLD).

10:01:00 - ÉvĂ©nement 1 : Trigger "CPU" passe Ă  PROBLÈME
10:05:00 - ÉvĂ©nement 2 : Trigger "CPU" passe Ă  OK
10:10:00 - ÉvĂ©nement 3 : Trigger "CPU" passe Ă  PROBLÈME
Problem (ProblĂšme)

Un ProblÚme est l'état (State) actuel d'un Trigger qui est dans la condition "ProblÚme".

Dans l'exemple ci-contre, Ă  10h15, il y a eu 3 ÉvĂ©nements, mais il n'y a qu'un seul ProblĂšme (le n°3) qui est actif (ouvert).

C'est le "Dashboard des ProblÚmes" (et non des événements) que le support (N1) surveille.

3.3 Concept : Action & Média

L'Action est la rĂ©action (le "Alors...") Ă  un ÉvĂ©nement.

Logique (Conditions -> Opérations)

Une Action est déclenchée par un événement (ex: Trigger) et vérifie des Conditions (Si) avant d'exécuter des Opérations (Alors).

Conditions (SI) :
 (ET) ÉvĂ©nement = "Trigger"
 (ET) Trigger Sévérité = "High" OU "Disaster"
 (ET) HĂŽte Groupe = "Serveurs Production"
 (ET) Statut Maintenance = "Non"
Opérations (ALORS) :
 1. (Immédiat) Envoyer message à "Admin" via Média "Email"
 2. (Immédiat) Envoyer message à "Admin" via Média "Slack"
 3. (AprĂšs 1h) Envoyer message Ă  "Manager" (Escalade)
 4. (Immédiat) Exécuter script "Redémarrer_Service.sh"
Média Types

Le "Média" est le canal de notification (configuré par utilisateur) :

  • Email (SMTP)
  • SMS (Gateway)
  • Script (Script personnalisĂ©)
  • Webhook (Ex: Slack, Teams, PagerDuty, JIRA)
4.1 Concept : Template (ModĂšle)

C'est le concept le plus important pour la scalabilité et la maintenance de Zabbix. Un Template est un "gabarit" (une "classe" en POO) que l'on applique à un HÎte.

Il est interdit (en bonne pratique) de mettre des Items ou des Triggers directement sur un HĂŽte. On les met toujours dans un Template, puis on "linke" (lie) le Template Ă  l'HĂŽte.

Contenu d'un Template

Un Template est un ensemble réutilisable de :

  • Items (ex: 10 mĂ©triques CPU/RAM)
  • Triggers (ex: 5 alertes CPU/RAM)
  • Graphs (ex: 1 graphique CPU/RAM)
  • Low-Level Discovery (LLD) Rules (ex: 1 rĂšgle de dĂ©couverte des disques)
Exemple (Héritage multiple)
HĂŽte : "SRV-WEB-01"
  │
  ├─ Template: "Template OS Linux" (CPU, RAM, Disques)
  ├─ Template: "Template App Nginx" (Connexions, 5xx)
  └─ Template: "Template App PHP-FPM" (Processus, Lenteur)

Avantage : Si vous voulez modifier le seuil CPU (Trigger) pour vos 500 serveurs Linux, vous modifiez le Trigger une seule fois (dans le "Template OS Linux"), et Zabbix applique le changement aux 500 hĂŽtes.

4.2 Auto-Discovery : LLD (Low-Level Discovery)

ProblÚme : Comment superviser les ressources qui sont dynamiques ou multiples sur un hÎte ? (ex: les 20 interfaces réseau d'un switch, les 5 disques (C:, D:, E:...) d'un Windows, les 100 Pods d'un K8s).

On ne va pas créer 20 Items "Trafic Entrant" à la main (Interface 1, Interface 2...).

Solution : LLD (Découverte de bas niveau)

LLD est une rÚgle (dans un Template) qui découvre automatiquement ces ressources et génÚre les Items/Triggers pour vous (via des "Prototypes").

Processus (Ex: Découverte de Disques)
  1. Zabbix exécute la "Discovery Rule" (ex: vfs.fs.discovery) sur l'Agent.
  2. L'Agent répond avec un JSON :
    [
      { "{#FSNAME}": "/",      "{#FSTYPE}": "ext4" },
      { "{#FSNAME}": "/boot",  "{#FSTYPE}": "ext4" },
      { "{#FSNAME}": "/data",  "{#FSTYPE}": "xfs"  }
    ]
  3. Zabbix lit ce JSON et applique les Prototypes (voir 4.3) pour chaque entrée.
  4. Résultat : Zabbix crée automatiquement 3 Items (Usage Disque pour /, /boot, /data).
4.3 LLD : Prototypes

Les Prototypes (Item, Trigger, Graph) sont les "gabarits" utilisés par la rÚgle LLD (4.2). Ils utilisent les Macros LLD (ex: {#FSNAME}) découvertes.

Exemple (LLD de Disques)

Dans votre Template, vous ne créez pas d'Item. Vous créez (sous la RÚgle LLD) :

1. Item Prototype (Gabarit d'Item)
  • Nom : Espace Disque : {#FSNAME}
  • ClĂ© : vfs.fs.size[{#FSNAME},pused] (Utilisation en %)
2. Trigger Prototype (Gabarit de Trigger)
  • Nom : Disque {#FSNAME} presque plein
  • Expression : {Template:vfs.fs.size[{#FSNAME},pused].last()} > 90

Résultat : Si LLD trouve 3 disques (/, /boot, /data), Zabbix crée automatiquement 3 Items et 3 Triggers (un pour chaque disque).

5.1 Collecte : Zabbix Agent (zabbix_agentd)

Le Zabbix Agent (zabbix_agentd ou zabbix_agent2) est le service installé sur l'hÎte (Linux/Windows) à superviser. Il est trÚs léger et efficace.

zabbix_agentd.conf (Configuration)

Fichier de configuration principal de l'agent (ex: /etc/zabbix/zabbix_agentd.conf).

# IP/DNS du Serveur (ou Proxy) autorisé à poller (Passif)
Server=192.168.1.100

# IP/DNS du Serveur (ou Proxy) Ă  qui envoyer (Actif)
ServerActive=192.168.1.100

# Nom d'hĂŽte (DOIT correspondre au "Host name" dans l'UI Zabbix)
Hostname=SRV-WEB-01
UserParameter (Checks Personnalisés)

Si une métrique n'existe pas (ex: "Nombre de fichiers .tmp"), vous pouvez l'ajouter via UserParameter.

# Ajouté à zabbix_agentd.conf

# Syntaxe: UserParameter=,
UserParameter=tmp.files.count,find /tmp -name "*.tmp" | wc -l

# CÎté Zabbix (Serveur), on crée un Item avec la Clé :
# Key: tmp.files.count
5.2 Collecte : SNMP (Agentless)

Zabbix est un NMS (Manager) SNMP trĂšs puissant. Il permet de superviser des appareils "agentless" (sur lesquels on ne peut pas installer d'agent), comme les Switchs, Routeurs, Imprimantes, NAS...

Configuration (HĂŽte)

Dans l'UI Zabbix, au lieu d'une interface "Agent", on crée une interface "SNMP" :

  • IP : (ex: 192.168.1.1 - Le Switch)
  • Version : (ex: SNMPv2)
  • Community String : (ex: public) (ou paramĂštres v3)
Configuration (Template)

On "linke" un Template SNMP (ex: Template Net Cisco IOS SNMP). Ce template contient :

  • Items : (Type: SNMPv2 Agent) (ClĂ©: L'OID numĂ©rique, ex: .1.3.6.1.2.1.1.3.0 pour Uptime).
  • LLD : Une rĂšgle LLD qui utilise snmpwalk sur ifDescr (...2.2.1.2) pour dĂ©couvrir les interfaces, et crĂ©e des Items (Prototypes) pour ifInOctets (...2.2.1.10.{#SNMPINDEX}).
5.3 Collecte : Autres (JMX, IPMI, Simple Check)

Zabbix peut utiliser de nombreux types d'Items :

Type d'ItemDescription
Simple CheckExécuté par le Serveur Zabbix (ou Proxy). "Agentless".
(ex: icmpping (Ping), tcp.port[,80] (Test de port)).
JMX(Java Management Extensions) Supervision d'applications Java (ex: Tomcat, JBoss).
Nécessite le "Zabbix Java Gateway".
IPMI(Intelligent Platform Management Interface) Supervision "Hardware" (agentless) des serveurs physiques (Température, Ventilateurs, Voltage) via le port de management (iDRAC, iLO).
CalculatedUn Item qui effectue un calcul basé sur d'autres Items (ex: "Trafic Total" = last(ifInOctets.1) + last(ifInOctets.2)).
External Check(CÎté Serveur) Le Serveur Zabbix exécute un script (ex: check_aws_billing.sh) et récupÚre la valeur.
6.1 Architecture : Zabbix Proxy

Le Zabbix Proxy (zabbix_proxy) est un daemon "collecteur" léger qui s'exécute sur un site distant. C'est la solution de Scalabilité de Zabbix.

ProblĂšme (Sans Proxy)

Un Zabbix Server Ă  Paris doit superviser 100 serveurs Ă  New York (WAN lent, Firewalls).

  • Passif/SNMP : Le serveur de Paris doit faire 1000s de requĂȘtes (Poll) Ă  travers le WAN (lent, fragile).
  • Actif : 100 serveurs de NY doivent ouvrir une connexion (Push) vers Paris (cauchemard pour le Firewall).
Solution (Avec Proxy)

On installe 1 Zabbix Proxy Ă  New York.

[ Serveurs NY ] <--(Agent/SNMP)--> [ Proxy NY ] <--(1 seule Connexion)--> [ Zabbix Server (Paris) ]
  • RĂŽle du Proxy :
    1. Il contacte le Serveur (Paris) et télécharge sa "configuration" (la liste des hÎtes de NY qu'il doit superviser).
    2. Il fait la collecte locale (Polling SNMP, Polling Agent Passif).
    3. Il reçoit les données des Agents Actifs (de NY).
    4. Il stocke (Buffer) les données (ex: dans une DB SQLite).
    5. Toutes les 1 minute (configurable), il envoie (Push) un "paquet" de données agrégées au Serveur (Paris).
  • Avantages : AllĂšge le Serveur (la collecte est dĂ©portĂ©e), rĂ©siste aux coupures WAN (Buffer), 1 seule rĂšgle de firewall.
6.2 Fonction : Web Monitoring (Synthetics)

Zabbix intÚgre un module de Monitoring Web (Synthetics) pour simuler des parcours utilisateurs (exécuté par le Serveur ou un Proxy).

Scénario Web

On dĂ©finit un "ScĂ©nario" (ex: "Tunnel de connexion") composĂ© de plusieurs "Étapes".

Exemple (Scénario : "Login")
  • Étape 1 : GET /login
    • Check : Doit rĂ©pondre 200 OK.
    • Check : Doit contenir le texte "Connexion".
  • Étape 2 : POST /login
    • Variables POST : user=test, pass=123
    • Check : Doit rĂ©pondre 302 Found (Redirection).
  • Étape 3 : GET /dashboard (Suit la redirection)
    • Check : Doit rĂ©pondre 200 OK.
    • Check : Doit contenir le texte "Bienvenue test".

Zabbix crĂ©e des Items (ex: Vitesse de l'Étape 1, Code RĂ©ponse Étape 2) et un Trigger (ex: "ScĂ©nario 'Login' a Ă©chouĂ© Ă  l'Étape 3").

6.3 Fonction : Dashboards (Visualisation)

Zabbix intÚgre un systÚme de Dashboards (Tableaux de bord) (via son interface Web PHP) pour visualiser les données collectées.

Widgets Courants
  • Graph (Graphique) : Graphique Time-Series (basĂ© sur 1 ou N Items).
  • Graph (Simple) : (Widget moderne, plus flexible).
  • Problems : La liste des problĂšmes actuellement ouverts (le widget N1/SOC).
  • Data Overview : Une "grille" montrant la derniĂšre valeur (ex: CPU) de N hĂŽtes.
  • Map (Carte) : Une carte topologique (statique ou dynamique) montrant les liens (ex: entre routeurs).
  • Clock (Horloge) : Affiche l'heure.
Intégration Grafana

Bien que Zabbix ait ses propres dashboards, beaucoup d'équipes préfÚrent utiliser Grafana (l'outil de visualisation de référence) pour créer des dashboards plus avancés et esthétiques.

Cela se fait via le "Zabbix Plugin for Grafana", qui permet à Grafana d'interroger l'API Zabbix (et non la BDD SQL) pour récupérer les données.

7.1 Admin : Mode Maintenance

ProblÚme : Vous devez redémarrer un serveur de production (ex: pour une mise à jour) le Dimanche à 3h du matin. Vous ne voulez pas que Zabbix envoie 50 alertes (CPU Down, Ping Down, Service Down...) et réveille l'équipe d'astreinte.

Solution : Périodes de Maintenance

Zabbix permet de définir des périodes de maintenance (planifiées ou "à la volée") pour un HÎte ou un Groupe d'HÎtes.

Types de Maintenance
  • Avec collecte de donnĂ©es : (DĂ©faut) L'hĂŽte est mis en "Mode Maintenance". Zabbix continue de collecter les mĂ©triques (CPU, RAM...), mais il supprime (suppress) les Actions (les alertes ne sont pas envoyĂ©es).
  • Sans collecte de donnĂ©es : Zabbix arrĂȘte *complĂštement* de superviser l'hĂŽte pendant la fenĂȘtre (non recommandĂ©).

Permet de garder l'historique des données pendant la maintenance, sans générer de "bruit" (alertes inutiles).

7.2 Cheat-sheet : Outils CLI (zabbix_get & zabbix_sender)

Outils CLI (cÎté Serveur/Proxy ou Client) pour le diagnostic.

zabbix_get

Outil (installé sur le Serveur Zabbix) pour interroger (Pull) un agent Passif.

Usage : Tester si l'agent répond sur le port 10050 et si la "Clé" (Key) est correcte.

# Syntaxe: zabbix_get -s [IP_Agent] -k [Clé]

# Teste la clé "agent.ping" (le "Hello World")
$ zabbix_get -s 192.168.1.10 -k agent.ping
1

# Teste la charge CPU
$ zabbix_get -s 192.168.1.10 -k system.cpu.load[all,avg1]
0.75

# Échec (ex: Firewall, Agent down, ClĂ© inconnue)
$ zabbix_get -s 192.168.1.10 -k agent.ping
zabbix_get [12345]: Get value error: ZBX_TCP_READ() failed: [104] Connection reset by peer
zabbix_sender

Outil (cÎté Agent) pour envoyer (Push) des données à un Item de type "Zabbix Trapper" (Item "Actif" cÎté serveur).

Usage : Permet à des scripts (ex: un script de backup de nuit) d'envoyer leur statut (0 ou 1) ou leur durée (3600s) à Zabbix.

# Syntaxe: zabbix_sender -z [IP_Serveur] -p 10051 -s [Nom_HÎte] -k [Clé] -o [Valeur]

# Envoyer la valeur "0" (SuccĂšs) Ă  l'Item "backup.status"
# sur l'HĂŽte "SRV-FILE-01"
$ zabbix_sender -z 192.168.1.1 -s "SRV-FILE-01" -k backup.status -o 0
7.3 Comparaison : Zabbix vs. Prometheus

Zabbix (traditionnel) et Prometheus (Cloud Native) sont deux philosophies différentes.

CritĂšreZabbixPrometheus
ModĂšle de CollectePush/Pull (Agent), SNMP, JMX.Pull (Scrape) (HTTP Exporters).
DécouverteNetwork Discovery (Scan IP) & LLD (Scripts).Service Discovery (K8s, Consul, EC2).
Cible PrincipaleIT Traditionnel (Serveurs, VMs, Réseau).Cloud Native (Conteneurs, Microservices).
StockageBase de données SQL (MySQL, Postgres).TSDB (Time-Series DB) locale (fichiers).
GraphesIntégrés (Web UI).Basique (expression), conçu pour Grafana.
AlertingIntégré (Triggers, Actions).Séparé (Alertmanager).