Monitoring & Supervision

Zabbix - Supervision Infrastructure

J'ai déployé un serveur Zabbix 7.0 sur Rocky Linux pour superviser l'infrastructure avec collecte de metriques, alerting Discord et supervision des serveurs GLPI et AD.

01

Contexte du projet

Dans le cadre du module R5, j'ai déployé un serveur Zabbix sur Rocky Linux pour mettre en place une solution de supervision d'infrastructure. Mon objectif etait d'installer Zabbix Server, l'agent de collecte, le frontend web, les notifications Discord et la supervision des serveurs GLPI et AD.

Cadre : Serveur Rocky Linux avec Zabbix 7.0.23, interface web Apache/PHP, base de données MariaDB, alertes via webhook Discord, supervision de GLPI et du contrôleur AD.

Technologies utilisées

Rocky Linux Zabbix 7.0.23 Apache PHP 8.3 MariaDB Zabbix Agent2 Discord Webhook

Hôtes supervises

GLPI-SRV (172.20.10.13) AD-DC (172.20.10.12) Zabbix Server
02

Pourquoi cette solution ?

Choix de Zabbix

J'ai choisi Zabbix plutôt que Centreon ou Nagios pour sa flexibilité, sa légèreté et sa compatibilité avec mon environnement virtualisé. Zabbix offre une interface web moderne, une configuration simplifiée des agents, et une excellente intégration avec les webhooks (Discord, Slack) pour les notifications en temps réel. De plus, la communauté active et la documentation complète facilitent le déploiement et le dépannage.

04

Infrastructure déployée

Role Hostname IP Description
Zabbix Serverlocalhost.localdomain172.20.10.14Rocky Linux + Zabbix Server 7.0.23 + Agent2 + Web
GLPI ServerGLPI-SRV172.20.10.13Rocky Linux + Zabbix Agent2
AD ControllerWIN-JBIDVUF39PM172.20.10.12Windows Server + Zabbix Agent
GLPI + AD
Agents Zabbix
Zabbix Server
172.20.10.14:10051
Discord
Alertes
04

Installation Zabbix

Installation des paquets

J'ai commence par ajouter le depot officiel Zabbix 7.0 puis j'ai installe tous les composants nécessaires.

# Ajout du depot Zabbix 7.0 rpm -Uvh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-latest-7.0.el10.noarch.rpm # Installation des paquets dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf \ zabbix-sql-scripts zabbix-agent2 mariadb-server httpd php-fpm

Configuration de la base de données

J'ai créé la base de données et l'utilisateur Zabbix, puis j'ai importe le schéma initial.

# Demarrage MariaDB systemctl enable --now mariadb # Création de la base et de l'utilisateur mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;" mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'ZabbixDb2026!';" mysql -e "GRANT ALL PRIVILÈGES ON zabbix.* TO 'zabbix'@'localhost';" # Import du schéma Zabbix zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p'ZabbixDb2026!' zabbix
06

Interface Web

Configuration Frontend

J'ai configuré le frontend web avec les paramètrès de connexion à la base et demarre les services.

# Activation des services systemctl enable --now zabbix-server zabbix-agent2 httpd php-fpm # Configuration firewall firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-port=10051/tcp firewall-cmd --reload

Informations de connexion

  • URL : http://172.20.10.14/zabbix/
  • Login : Admin
  • Mot de passe : zabbix (par defaut)
06

Notifications Discord

Configuration du Webhook

J'ai configuré les notifications Discord pour recevoir les alertes Zabbix en temps réel.

J'ai active le media type Discord dans Zabbix
J'ai ajoute le webhook Discord à l'utilisateur Admin
J'ai configuré la macro {$ZABBIX.URL}
J'ai active l'action "Report problems to Zabbix administrators"

Test des alertes

J'ai teste l'envoi des alertes avec zabbix_sender pour declencher des problèmes de test.

# Declenchement d'un problème de test zabbix_sender -z 127.0.0.1 -s "ZBX-DISCORD-TEST" -k discord.test -o 1 # Vérification du dernier envoi Discord mysql -N zabbix -e "SELECT alertid,status,error FROM alerts WHERE mediatypeid=39 ORDER BY alertid DESC LIMIT 5;" # Attendu: status=1 et error vide

Notifications validees

  • Alertes recues dans le salon Discord
  • Format complet avec nom du problème, hôte, severite
  • Status=1 en base (envoi réussi)
07

Supervision des Hôtes

Ajout de GLPI-SRV

J'ai ajoute le serveur GLPI dans Zabbix et installe l'agent Zabbix dessus.

# Installation de l'agent sur GLPI (172.20.10.13) dnf -y install zabbix-agent2 sed -i 's/^Server=.*/Server=172.20.10.14/' /etc/zabbix/zabbix_agent2.conf sed -i 's/^ServerActive=.*/ServerActive=172.20.10.14/' /etc/zabbix/zabbix_agent2.conf sed -i 's/^Hostname=.*/Hostname=GLPI-SRV/' /etc/zabbix/zabbix_agent2.conf systemctl enable --now zabbix-agent2 # Vérification depuis le serveur Zabbix zabbix_get -s 172.20.10.13 -k agent.ping # Resultat: 1 (agent OK)

Ajout de AD-DC

J'ai ajoute le contrôleur de domaine Windows et installe l'agent Zabbix Windows.

J'ai télécharge zabbix_agent2-7.4.7-windows-amd64
J'ai configuré l'agent avec Server=172.20.10.14
J'ai ajoute l'hôte AD-DC dans Zabbix avec le template Windows
Agent disponible: agent.ping=1
09

Bilan du projet

Ce que j'ai validé

  • Zabbix Server 7.0.23 installe et opérationnel
  • Frontend web accessible (HTTP 200 OK)
  • Notifications Discord par webhook fonctionnelles
  • Serveur GLPI supervise (agent Linux)
  • Contrôleur AD supervise (agent Windows)
  • Dashboard avec vue globale et problèmes
09

Compétences mobilisees

Administration système

J'ai installe et configure un serveur Linux, gère les paquets RPM et configure les services systemd.

Supervision

J'ai déployé Zabbix pour la supervision d'infrastructure avec collecte de metriques et alerting.

Alerting

J'ai configuré les notifications Discord par webhook pour recevoir les alertes en temps réel.

Multi-plateformes

J'ai supervise des serveurs Linux et Windows avec les agents Zabbix adaptes.

Voir toutes les compétences E5