Date de dernière modification de l’article
Vous allez voir dans ce tuto comment installer et configurer Zabbix pour en faire un usage de NMS pour Network Management System afin d’obtenir des alertes et une surveillance sur la qualité, sécurité et disponibilité de vos équipements réseau ainsi que des informations sur l’état de leurs ressources hardware.
Veuillez vous référer à l’article suivant pour suivre la procédure pour préparer une installation de Debian 12 de base orientée serveur pour y héberger votre Zabbix : Comment réaliser une installation de la distribution Debian.
Vous allez pouvoir commencer par vous rendre sur le site officiel de Zabbix via ce lien : https://www.zabbix.com/download zabbix=7.2&os_distribution=debian&os_version=12&components=server_frontend_agent&db=mysql&ws=apache.
Pour définir vous même vos propres besoins et obtenir la documentation la plus adéquate car mon tutoriel ne couvrira que l’installation de Zabbix à partir de Debian 12, avec une base de donnée MySQL/MariaDB et un serveur Web Nginx . (Je considère que c’est l’une des méthodes les plus courantes d’installation), mais vous pouvez parfaitement obtenir une documentation adaptative et personnalisée à vos besoins.
Je risque très fortement de m’appuyer sur la documentation officielle pour construire cette documentation, cependant je ferai en sorte d’apporter un certain nombre de détails supplémentaires/complémentaires que vous ne retrouverez pas sur une documentation officielle. Vous me verrez navré d’avance si vous retrouvez des informations qui feront doublons entre ma documentation et la documentation officielle de Zabbix.
Maintenant que les pré-requis ont été dénifis, nous allons pouvoir commencer.
Voici grossomodo le plan que nous allons mettre en place avec Zabbix ci-dessus.
Section 1 : installation et configuration côté serveur :
A. Installation des dépôts officiels de Zabbix sur votre Debian ! :
- Nous allons commencer par wget* pour récupérer les dépôts officiels.
- Nous allons installer le paquet .deb que nous avons extrait du dépôt Zabbix.
- nous allons faire un apt update pour mettre à jour la liste des dépôts pour que le dépôt Zabbix y figure.
*wget
: C’est un outil en ligne de commande utilisé pour télécharger des fichiers depuis le web via HTTP, HTTPS ou FTP.
# (En root)
wget https://repo.zabbix.com/zabbix/7.2/release/debian/pool/main/z/zabbix-release/zabbix-release_latest_7.2+debian12_all.deb
dpkg -i zabbix-release_latest_7.2+debian12_all.deb
apt update
Ensuite, nous allons installer toutes les dépendances nécéssaires, notamment l’agent Zabbix : ( Pensez à installer quand même le paquet mariadb-server, sinon vous serez bloqué pour vous connecter à votre base de données MySQL avec votre utilisateur root !).
# (En root)
apt install zabbix-server-mysql mariadb-server zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Assurez-vous que l’heure sur votre serveur ZABBIX sera synchronisée avec un hôte de temps NTP fiable.
# (En root)
apt install chrony
# Ensuite allez dans le fichier de configuration présent dans /etc/chrony/chrony.conf pour spécifier une configuration de votre service NTP Chrony
nano /etc/chrony/chrony.conf
B. Configuration de la base de données MySQL initiale de Zabbix :
Nous allons commencer par se connecter en root à notre base de données, puis, lorsqu’il vous demandera « password » tapez juste la touche entrée, il n’y a pas de mot de passe à l’utilisateur root par défaut.
Copiez ensuite toutes les lignes suivantes ci-dessous pour créer l’user zabbix avec les bons privilèges pour un accès en localhost depuis votre navigateur.
# ( En root)
mysql -uroot -p
password
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'lemotdepassedevotreuserzabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;
Sur le serveur de Zabbix, nous allons importer les schémas et les données initiales. Vous serez invité à entrer votre mot de passe nouvellement créé (Cela peut prendre quelques minutes !) :
# ( En root)
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
Désactivez l’option « log-bin-trust-function-creators » après l’importation des schéma de base de données.
mysql -uroot -p
password
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;
Configurez la base de données pour le serveur zabix dans le fichier de configuration : /etc/zabbix/zabbix.server.conf
# ( En root)
nano /etc/zabbix/zabbix.server.conf
# Dans le fichier zabbix.server.conf, intégrez ou modifiez les lignes suivantes selon le port d'écoute que vous désirez pour joindre votre zabbix à votre serveur Web Nginx, il faudra modifier ces valeurs de la même manière dans les fichiers de configuration Nginx :
listen 8080;
server_name votre-domaine.com;
#spécifiez le mot de passe de l'utilisateur que vous avez créé.
Dbpassword = mot-de-passe-de-votre-user-zabbix
Vous pouvez également définir ces paramètres PHP dans /etc/php.ini:
# ( En root)
# Dans le fichier de configuration de PHP : /etc/php.ini, vous allez pouvoir définir ces paramètres :
nano /etc/php.ini
Memory_limit 128m
upload_max_filesize 8m
post_max_size 16m
max_execution_time 300
max_input_time 300
max_input_vars 10000
Terminons la configuration de base en démarrant les processus du serveur et de l’agent zabbix.
Redémarrez les processus du serveur et de l’agent et rendez-les démarrables au démarrage de votre système.
# ( En root)
systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm
systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm
L’URL de l’Interface d’administration de Zabbix lors de l’utilisation de Nginx dépend des modifications de configuration que vous auriez pu faire.
C. Configuration de Nginx pour accéder à notre interface Zabbix :
# ( En root)
nano /etc/nginx/conf.d/zabbix.conf
#Remplacez décommentez ou rajoutez les lignes suivantes suivant ce que vous retrouvez dans votre fichier de conf de nginx "zabbix.conf"
server {
listen 8080;
server_name votre-domaine.com; # Remplacez par le domaine ou IP de votre Zabbix
# Puis redémarrez le service nginx:
systemctl restart nginx
D. Ouvrir la page Web de l’interface utilisateur pour accéder à l’administration de Zabbix :
Allez dans la barre URL de votre navigateur et tapez http://IPdevotreserveurzabbix:leportedecoute. La toute première fois, vous devriez arriver sur une page de configuration où l’on vous demanderz de choisir la langue :
Dans la prochaine étape, l’outil de configuration zabbix vérifiera que vous possédez tout les prérequis, normalement tout devrait être vert : OK
Ensuite, vous devrez configurer les credentials de connexion à votre base de données :
- Le type de base de données que vous avez utilisé : Pour ma part MySQL.
- Hôte de la base de données : le nom de domaine de votre base de données ou son adresse ip.
- Port de la base de données: le port d’écoute que vous avez préalablement défini pour votre base de données.
- Nom de la base de données: le nom de votre base
- Utilisateur: Pour ma part zabbix
- Mot de passe: Le mot de passe que vous avez préalablement défini à votre utilisateur zabbix pour MySQL.
- Cochez chiffrement TLS si vous désirez ajouter un niveau de sécurité supplémentaire à votre base de données.
Avant dernière étape de l’outil de configuration :
Puis dernière page, vous aurez un résumé des paramètres que vous avez renseingé à l’outil de configuration Zabbix, vérifiez que tout soit cerret et faites prochaine étape :
Il ne vous restera plus qu’à cliquer sur terminer
Vous vous retrouverez sur une page de d’identification, le nom d’utilisateur par défaut sera « Admin » et le mot de passe par défaut sera « zabbix ».
Section 2 : installation et configuration côté client :
Vous allez pouvoir vous rendre à nouveau sur le site officiel de zabbix pour aller récupérer l’exécutable de l’agent à installer sur votre Windows Server AD : https://www.zabbix.com/download_agents
Si vous prévoyez d’installer l’agent Zabbix sur des serveurs ou des ordinateurs de domaine via GPO ou SCCM, vous pouvez télécharger une archive ZIP contenant les fichiers binaires et de configuration.
Veuillez prendre la version Zabbix Agent 7.2.3 en sélectionnant les mêmes prérequis que moi :
Téléchargez et exécutez le programme d’installation, acceptez l’accord de licence. Ensuite gardez tous les composants pour l’installation et faites next :
Ensuite, vous retrouverez divers champs de paramètres à remplir pour permettre à votre Zabbix Agent de savoir comment il peut joindre votre zabbix serveur :
- Nom d’hôte : utilisez un nom d’hôte que nous serons utilisés dans Zabbix Server pour identifier cet hôte
- Zabbix Server IP / DNS : Entrez l’adresse IP du serveur Zabbix. Le service d’agent permettra uniquement les demandes de ce serveur Zabbix.
- Port d’agent d’écoute : le port sur lequel l’agent Zabbix écoutera.
- Serveur ou proxy pour les vérifications actives : entrez l’adresse IP du serveur Zabbix afin que l’agent puisse envoyer des détails directement au serveur. Cela nécessite un port 10051 ouvert sur le serveur
- Ajout de l’agent dans le PATH :(ou variable d’environnement PATH) est une variable système qui contient une liste de répertoires dans lesquels le système d’exploitation recherche les exécutables lorsqu’une commande est lancée dans un terminal ou une invite de commande.
Vous allez pouvoir lancer l’installation :
L’installation est terminée, vous pouvez fermer l’installeur :
Vous allez devoir vous rendre dans l’arborescence de fichier « C:\Programmes\Zabbix Agent\" pour éditer le fichier de configuration "zabbix_agentd.conf
«
Ouvrez-le avec un éditeur de texte et assurez-vous que le paramètre « ServerActive
» est correctement configuré pour pointer vers votre serveur Zabbix. Vérifiez que le paramètre « Hostname
» correspond à celui défini dans l’interface de Zabbix.
Vous pouvez maintenant faire le raccourci CTRL+R et tapez la commande « services.msc ».
Pour gérer le service de l’agent Zabbix, vous pouvez le démarrer, l’arrêter ou le redémarrer via le panneau de configuration des services Windows. Vous pouvez notamment aller dans les propriétés du service pour gérer plus profondément les paramètres de ce service, arrêtez-le et redémarrez-le au moins une fois pour que les modifications réalisées précédemment dans le fichier de configuration prennent effet :
Maintenant retournez sur votre interface web Zabbix et dans le menu latéral sélectionnez surveillance > Hôtes, puis en haut à droite cliquez sur « Créer un hôte ».
Vous allez pouvoir spécifier le nom d’hôte de votre client, le modèle définit le type de système d’exploitation sur lequel est installé votre Zabbix client et vous permettra par la suite de choisir des alertes pré-configurées et les groupes d’hôtes permettent de faciliter l’organisation de vos agents. Faites « Ajouter ».
Une fois ajouté, le client Zabbix actif commencera à se connecter au serveur Zabbix. En cas de problème, consultez les journaux du serveur ainsi que ceux des clients Zabbix.
Une fois l’agent présent et en statut disponible, vous allez pouvoir ajouter des déclencheurs selon un modèle d’agent avec des alertes et déclencheurs préconfigurés pour Windows par exemple si comme moi vous souhaitez faire remonter des informations de votre Active Directory. Allez dans Surveillance > Hôtes, faites un clique droit sur le nom d’hôte de l’agent que vous souhaitez surveiller avec des alertes et cliquez sur « Déclencheurs » :
Vous aurez toute une liste de déclencheurs disponibles, il ne vous restera plus qu’à choisir les informations que vous souhaitez faire remonter de vos serveurs. J’ai pour ma part coché la supervision du service NTDS de mon AD. Vous pouvez faire une sélection multiple des déclencheurs puis
Descendez tout en bas de la page et cliquez sur « activer » pour activer tous les déclencheurs sélectionnés :
Vous pouvez aussi créer vos propres règles sur vos déclencheurs, nous allons tester avec les ressources système de notre AD.
Nous voulons que les règles suivantes soient créées:
CPU : (Seuil acceptable <70%, Seuil alerte entre 70 et 80%, Seuil critique >80%)
RAM : (Seuil acceptable <70%, Seuil alerte entre 70 et 80%, Seuil critique >80%)
Disque dur : (Seuil acceptable <70%, Seuil alerte entre 70 et 80%, Seuil critique >80%)
Par exemple, pour monitorer des seuils d’utilisation pour des ressources CPU, nous allons remonter tout en haut de la fenêtre, puis cliquer sur « Créer un déclencheur ».
Ensuite nous nous retrouveront dans cette fenêtre :
Donnez un nom de préférence intelligible et court à votre déclencheur sur sa fonction, définissez sous quel type de sévérité il doit être réglé pour vous informer que ses conditions ont été atteintes. Puis éventuellement, une petite description approfondissant sur le rôle de votre déclencheur :
Dans la partie « Expression que vous voyez ci-dessus, vous pourrez cliquer sur le bouton « Ajouter » placé à droite, ce qui vous redirigera vers la petite fenêtre ci-dessous, à partir d’ici vous pourrez sélectionner l’élément, c’est à dire l’hôte qui fera l’objet d’une vérification par le déclencheur et un profil de déclencheur spécifique selon vos besoin, pour notre part, il nous faudra mesurer l’utilisation CPU, donc il nous faut un profil d’utilisation CPU à associer à notre hôte cible, cela nous génèrera une expression et après nous utiliseront les manipulateurs <|> ou = et une valeur, pour notre part, nous voulons une valeur ne dépassant pas 70 donc <70.
Une fois rempli, faites insertion, vous retournerez sur la fenêtre précédente où vous pourrez faire « Actualiser ».
Résumé :
Félicitations ! Vous avez réussi à installer un Zabbix serveur fonctionnel sur une Debian et l’agent Zabbix sur votre système Windows Server. Cet article vous a également guidé dans l’ajout d’un nouvel hôte sur le serveur Zabbix afin de commencer la surveillance. Grâce à cette configuration, vous pouvez ajouter de nouveaux systèmes clients et vous pouvez suivre en temps réel les performances et l’utilisation des ressources de votre système. Une surveillance régulière avec Zabbix vous permet d’anticiper d’éventuels problèmes et d’assurer le bon fonctionnement de vos systèmes. Bonne surveillance !
Laisser un commentaire