IREX - Installation de Zabbix avec Docker sur Debian

Zabbix est l’une des solutions open source les plus puissantes pour surveiller en temps réel serveurs, réseaux et applications. Dans cette article nous vous présenterons les étapes clés de son install

 · 5 min read




  1. Présentation de zabbix
  2. Zabbix est une solution de surveillance open-source , il offre des capacités de suivie complètes pour l’infrastructure, les réseaux, les applications, les services, etc. Conçu pour être évolutif, Zabbix est couramment utilisé par des organisations de toutes tailles pour obtenir des informations sur les performances, détecter les problèmes et gérer les ressources de manière proactive. Elle collecte des données via des agents, des SNMP, ou encore des scripts personnalisés, puis les affiche sous forme de graphiques, tableaux de bord et alertes.
    Elle est Fiable, modulaire et hautement personnalisable, Zabbix est utilisé dans des environnements aussi bien petits que très complexes.

    Description de l'image

    Zabbix est composé de plusieurs éléments :
    -Le serveur Zabbix : qui est le service de supervision, il est publié sur le port 10051, il a la charge d’interroger les équipements, collecter et traiter les données.
    -La base de données : où les informations sont stockés, il est possible d’utiliser MySQL/MariaDB, PostgreSQL ou encore Oracle.
    -L’interface utilisateur : qui est une interface graphique écrite en PHP, il est possible d’utiliser différent serveur Web (Apache2, Nginx)
    -un agent Java : pour la supervision des Jvm.
    Zabbix proxy : qui est un composant optionnel, qui peut être utiliser sur des sites distants pour centraliser la supervision par celui-ci où sur des grosses infrastructure pour répartir la charge.



  3. Pré-requis Techniques
  4. Avant de procéder à l'installation, assurez-vous que votre environnement répond aux exigences suivantes :
    • Une machine Debian 11 ou 12 (Ubuntu fonctionnera aussi avec quelques adaptations).
    • Un utilisateur avec les droits administrateur (sudo).
    • Une connexion Internet active pour le téléchargement des dépendances.
    • Docker Engine version 25 ou supérieure installé.
    • Docker Compose (plugin V2 ou binaire autonome).
    Pour vérifier si Docker est installé :
    docker --version
    Et pour Docker Compose :
    docker compose version
    Si ce n'est pas le cas, suivez les instructions ci-dessous pour une installation propre.


  5. Installation avec Docker Compose
  6. Utiliser Docker Compose permet de déployer rapidement tous les services nécessaires à Zabbix (base de données, serveur, interface web, agent) à l’aide d’un simple fichier. Cela simplifie l’installation, évite les conflits de dépendances, et rend l’environnement portable, reproductible et facile à maintenir.Ces fichiers de composition sont disponibles dans : le référentiel officiel Zabbix docker sur github.com .


    1. Installation de Docker (si absent)
    2. Comme je l’ai dit plus haut, nous allons utiliser Docker pour « installer » Zabbix, nous aurons donc besoin d’un serveur linux ( pour ma part Debian) pour installer docker et docker compose nous suivrons les étapes suivantes:
      sudo apt update
      sudo apt install -y ca-certificates curl gnupg lsb-release apt-transport-https
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      
      echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
      https://download.docker.com/linux/debian $(lsb_release -cs) stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
      sudo apt update
      sudo apt install -y docker-ce docker-ce-cli containerd.io
      sudo systemctl enable docker
      sudo systemctl start docker
      
      
      sur la capture d'ecran on voit que docker compose à bien été téléchargé et on peut voir la dernière version qui s'affiche
      Description de l'image


    3. Cloner le dépôt officiel de Zabbix Docker
    4. Ici on télécharge localement sur notre machine tous les fichiers de configuration mis à disposition par l’équipe Zabbix pour déployer Zabbix avec Docker.
      cd ~
      git clone https://github.com/zabbix/zabbix-docker.git
      cd zabbix-docker
      git checkout 6.4
      Description de l'image


    5. Copier un fichier Docker Compose prêt à l’emploi
    6. Copier un fichier Docker Compose prêt à l’emploi on le rend automatiquement détectable par la commande docker compose up.
      cp docker-compose_v3_alpine_mysql_latest.yaml docker-compose.yml

    7. Démarrer les conteneurs
    8. voici la commande permettant de démarrer le conteneurs :
      docker-compose -f ./ocker-compose_v3_alpine_mysql_latest.yaml up -d
      Cette commande démarre tous les conteneurs définis dans le fichier docker-compose.yml. Chaque conteneur joue un rôle essentiel dans l’architecture Zabbix :
      • mysql-server : héberge la base de données relationnelle utilisée par Zabbix pour stocker toutes les données de configuration, historiques, événements, etc.
      • zabbix-server-mysql : cœur de la plateforme Zabbix. Il collecte les données, déclenche les alertes, exécute les vérifications et communique avec la base MySQL.
      • zabbix-web-nginx-mysql : conteneur qui fournit l’interface graphique web (Zabbix frontend), basée sur Nginx et PHP, connectée au serveur et à la base de données.
      • zabbix-agent : agent Zabbix installé localement pour permettre au serveur de superviser la machine hôte Docker elle-même.
      • Chaque composant fonctionne de manière isolée, mais collabore via les réseaux Docker internes définis automatiquement par Compose.

      Description de l'image



  7. Premiers pas sur l’interface Zabbix
  8. Une fois les configuration terminé nous allons Accéder à l’interface web.

    Depuis un navigateur, allez à l'adresse suivante :

    http://<ip_de_votre_machine>

    Pour récupérer l’IP locale entrons la commande :

    hostname -I

    Connexion initiale:

    Identifiant Valeur
    Nom d'utilisateur Admin
    Mot de passe zabbix

    Description de l'image

    Interface web de zabbix:

    Une fois connecté, on arrive sur page avec un tableau de bord (Dashboard) vide pour le moment. Ce tableau de bord permet de voir d’un seul coup d’œil, les différents problèmes.
    Description de l'image

    Comme vous pouvez le voir, l’interface est « assez simple », sur la partie de gauche, vous avez menu de navigation qui permet d’accéder à l’ensemble des fonctionnalités et configuration de Zabbix.Plus tard nous verons plus en détails la composition de l'interface web de zabbix et comment déployer et configurer les agents Zabbix sur des machines hotes.


  9. Conclusion
  10. L’installation de Zabbix avec Docker Compose sur Debian offre une méthode moderne, rapide et modulaire pour mettre en place une supervision complète. Grâce à Docker, chaque composant est isolé, facile à déployer et à maintenir. Cette approche convient aussi bien aux tests en environnement local qu’à un déploiement en production.
    En maîtrisant ces étapes, vous bénéficiez d’une solution de monitoring puissante et évolutive, prête à s’adapter à tous vos besoins d’administration système. Pour continuer, explorez l’ajout d’hôtes personnalisés, la mise en place de notifications.


  11. En savoir plus

  12. Vous pouvez consulter les liens suivants pour plus de renseignement :
    - Qu'est ce que Zabbix ?
    - utilisation de Docker, afin de faciliter le déploiement, la portabilité et la reproductibilité des application web
    - Déploiement de l'interface LibreChat avec Docker : guide pas à pas

No comments yet

No comments yet. Start a new discussion.

Add Comment