đĄ Zabbix â Supervision, Alerting & MĂ©triques (NMS)
Guide complet IDEO-Lab sur la plateforme de supervision "All-in-One" Zabbix.
Concept : NMS All-in-One
Network Management System, Open Source, All-in-One.
NMS Open SourceArchitecture (Composants)
Server, Database (SQL), Web (PHP), Agent, Proxy.
Server Agent Proxyvs. Nagios
Intégré (DB/Graphs) vs. Check-based (Scripts).
Nagios ComparatifConcept : HĂŽte & Groupe
HĂŽte (Le "Quoi"), Groupe (Le "OĂč").
HÎte GroupeConcept : Item (Métrique)
La donnée brute (Clé, Intervalle, Type, History/Trends).
Item Métrique KeyAgent : Passif vs Actif
Pull (Serveur -> Agent) vs. Push (Agent -> Serveur).
Agent Passif Agent ActifConcept : Trigger (Seuil)
Expression ({Host:Key.func()} > 5), Hystérésis.
Concept : Event vs ProblĂšme
ĂvĂ©nement (Log) vs ProblĂšme (Ătat "DOWN"). Event Problem
Concept : Action & Média
Condition (Si) -> Opération (Alors). (Email, Slack).
Action Média WebhookConcept : Template (ModÚle)
Le pilier. Set (Items, Triggers, Graphs) réutilisable.
Template AutomatisationAuto-Discovery : LLD
Low-Level Discovery (Interfaces, Disques, K8s).
LLD DiscoveryLLD : Prototypes
Item Prototype, Trigger Prototype (gabarits).
Prototype LLDCollecte : Zabbix Agent
zabbix_agentd, UserParameter (Scripts).
Collecte : SNMP
Monitoring Agentless (Switchs, Routeurs, Imprimantes).
SNMP AgentlessCollecte : Autres
JMX, IPMI, Simple Check (Ping), ODBC.
JMX IPMI PingArchitecture : Zabbix Proxy
Scaling (Collecte déportée), Buffering, Sites distants.
Proxy ScalabilitéFonction : Web Monitoring
Scénarios (Synthetics). Login, Clics, Check (Texte/Code).
Synthetics WebFonction : Dashboards
Visualisation (Graphs, Maps, Problems). Intégration Grafana.
Dashboard GrafanaAdmin : Maintenance
Mode maintenance (Stop Alerting, Continue Collecting).
Maintenance AlertesCheat-sheet : Outils CLI
zabbix_get (Test Agent Passif), zabbix_sender (Push Actif).
vs. Prometheus
Agent (Push/Pull) vs. Scrape (Pull). IT vs Cloud Native.
Prometheus ComparatifQu'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 :
- Collecte : (Agent, SNMP, JMX, Ping...)
- Stockage : (Base de données SQL - MySQL, Postgres)
- Analyse & Seuil : (Moteur de Triggers)
- Alerting : (Actions, Médias)
- 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")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).
Zabbix et Nagios (ou son fork Icinga) sont les deux NMS open-source historiques.
| CritĂšre | Zabbix | Nagios (Core) |
|---|---|---|
| Philosophie | Intégré (All-in-One). | Modulaire (Core + Plugins). |
| Stockage Données | Base de Données SQL (MySQL/Postgres). | Fichiers plats (logs), RRD (via Add-on). |
| Graphes | Intégrés (via Web UI). | Non inclus. (Nécessite PNP4Nagios, RRDtool...). |
| Configuration | Base de Données (via Web UI). | Fichiers Texte (.cfg) (Complexe, reload nécessaire). |
| Collecte | Agent (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.
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 SNMP192.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'").
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Ăštre | Description | Exemple |
|---|---|---|
| Nom | Nom lisible. | "Charge CPU (1 min)" |
| Type | Comment 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ée | Format de la donnée attendue. | Numérique (float), CaractÚre, Log, Texte... |
| History Storage Period | Durée de stockage des données brutes (pour les graphs). | 14d (14 jours) |
| Trend Storage Period | Durée de stockage des données agrégées (Min/Max/Moy/Heure). | 365d (1 an) |
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).
- L'Agent (
zabbix_agentd) écoute sur le port TCP 10050. - Le Serveur Zabbix (Poller) initie la connexion vers l'Agent (192.168.1.10:10050).
- Serveur : "Donne-moi
system.cpu.load". - 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).
- Le Serveur Zabbix écoute sur le port TCP 10051.
- L'Agent (
zabbix_agentd) initie la connexion vers le Serveur (zabbix.ideolab.com:10051). - Agent : "Donne-moi ma liste de checks 'Actifs' (ex: CPU, RAM)."
- Serveur : "OK, voici la liste et les intervalles."
- Agent : (Exécute les checks localement, met en buffer).
- 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).
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)} = 1Hysté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%).
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.
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)
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.
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)
- Zabbix exécute la "Discovery Rule" (ex:
vfs.fs.discovery) sur l'Agent. - L'Agent répond avec un JSON :
[ { "{#FSNAME}": "/", "{#FSTYPE}": "ext4" }, { "{#FSNAME}": "/boot", "{#FSTYPE}": "ext4" }, { "{#FSNAME}": "/data", "{#FSTYPE}": "xfs" } ] - Zabbix lit ce JSON et applique les Prototypes (voir 4.3) pour chaque entrée.
- Résultat : Zabbix crée automatiquement 3 Items (Usage Disque pour /, /boot, /data).
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).
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
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.0pour Uptime). - LLD : Une rĂšgle LLD qui utilise
snmpwalksurifDescr(...2.2.1.2) pour découvrir les interfaces, et crée des Items (Prototypes) pourifInOctets(...2.2.1.10.{#SNMPINDEX}).
Zabbix peut utiliser de nombreux types d'Items :
| Type d'Item | Description |
|---|---|
| Simple Check | Exécuté par le Serveur Zabbix (ou Proxy). "Agentless". (ex: icmpping (Ping), tcp.port[ (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). |
| Calculated | Un 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. |
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 :
- Il contacte le Serveur (Paris) et télécharge sa "configuration" (la liste des hÎtes de NY qu'il doit superviser).
- Il fait la collecte locale (Polling SNMP, Polling Agent Passif).
- Il reçoit les données des Agents Actifs (de NY).
- Il stocke (Buffer) les données (ex: dans une DB SQLite).
- 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.
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".
- Check : Doit répondre
- Ătape 2 : POST /login
- Variables POST :
user=test, pass=123 - Check : Doit répondre
302 Found(Redirection).
- Variables POST :
- Ătape 3 : GET /dashboard (Suit la redirection)
- Check : Doit répondre
200 OK. - Check : Doit contenir le texte
"Bienvenue test".
- Check : Doit répondre
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").
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.
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).
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
Zabbix (traditionnel) et Prometheus (Cloud Native) sont deux philosophies différentes.
| CritĂšre | Zabbix | Prometheus |
|---|---|---|
| ModĂšle de Collecte | Push/Pull (Agent), SNMP, JMX. | Pull (Scrape) (HTTP Exporters). |
| Découverte | Network Discovery (Scan IP) & LLD (Scripts). | Service Discovery (K8s, Consul, EC2). |
| Cible Principale | IT Traditionnel (Serveurs, VMs, Réseau). | Cloud Native (Conteneurs, Microservices). |
| Stockage | Base de données SQL (MySQL, Postgres). | TSDB (Time-Series DB) locale (fichiers). |
| Graphes | Intégrés (Web UI). | Basique (expression), conçu pour Grafana. |
| Alerting | Intégré (Triggers, Actions). | Séparé (Alertmanager). |
