Retour à la mission 2
Partie 3.2

Installation & Configuration Zabbix

Installation complète des paquets Zabbix, configuration de la base de données MySQL, et mise en place de l'interface web de supervision

Configuration système préliminaire

Avant l'installation de Zabbix, configuration des éléments système essentiels : synchronisation de l'heure avec le serveur NTP de la SNCF via timesyncd.conf (NTP=ntp.sncf.fr), mise à jour du fichier sources.list pour pointer vers le miroir debian-security, et installation d'Aptitude pour la gestion avancée des paquets.

Configuration système

Configuration NTP, sources.list et installation d'Aptitude

Installation des paquets Zabbix

Installation des paquets Zabbix dont j'ai besoin pour réaliser toute l'installation et la configuration de Zabbix. Les paquets choisis sont les suivants : zabbix-agent, zabbix-agent2, zabbix-frontend-php, zabbix-sender, zabbix-server-mysql et zabbix-web-service.

Installation paquets Zabbix

Installation des 6 paquets Zabbix principaux

Les paquets sélectionnés vont donc s'installer avec toutes leurs dépendances. Les dépendances sont des paquets supplémentaires nécessaires au bon fonctionnement du paquet principal.

Installation dépendances

Installation des dépendances des paquets Zabbix

Configuration de la base de données MySQL

Consultation du fichier README.Debian dans /usr/share/doc/zabbix pour obtenir les instructions d'installation de la base de données. Installation automatique de mysql-server via le paquet zabbix-server-mysql, puis exécution des commandes SQL pour créer la base de données Zabbix avec l'encodage utf8mb4 et configurer les droits d'accès pour l'utilisateur zabbix. Import du schéma de base de données via la commande zcat et édition du fichier zabbix_server.conf avec les paramètres de connexion (DBHost, DBName, DBUser, DBPassword).

README Debian Zabbix

Instructions du README.Debian

Création base de données

Création BDD et config MySQL

Configuration zabbix_server.conf

Édition du fichier zabbix_server.conf avec les paramètres de connexion

Configuration du serveur Zabbix

Modification du fichier zabbix_server.conf : décommentage et renseignement des paramètres DBHost (localhost), DBName (zabbix), DBUser (zabbix) et DBPassword. Activation des scripts globaux en passant EnableGlobalScripts de 0 à 1.

Configuration zabbix_server.conf

Configuration des paramètres de connexion et activation des scripts globaux

Configuration PHP et Apache2

Suivant les instructions du README.Debian du répertoire /usr/share/doc/zabbix-frontend-php, copie du contenu du fichier zabbix-frontend-php.conf dans 000-default.conf. Modification du fichier php.ini (/etc/php/8.4/apache2) après backup : ajustement des valeurs max_execution_time, max_input_time, memory_limit et post_max_size selon les paramètres requis par Zabbix. Redémarrage et vérification du service Apache2.

Configuration fichiers

Copie de zabbix-frontend-php.conf

Redémarrage Apache2

Redémarrage du service Apache2

Configuration de l'interface web Zabbix

Accès à l'interface web

Je me rends ensuite sur l'interface web de Zabbix avec l'IP que je lui ai attribué.

Je sélectionne comme langage par défaut le français et je clique sur «Prochaine étape».

Interface Zabbix langue

Sélection de la langue française dans l'interface web Zabbix

Vérification des prérequis

Je vérifie ensuite que tous les prérequis sont bien = OK », si c'est le cas, je passe à la prochaine étape.

Vérification prérequis

Vérification des prérequis système - tous les critères sont OK

Problème de configuration de la base de données

Problème rencontré

Je configure ensuite la connexion à la base de donnée. Je dois sélectionner MySQL dans le type de base de donnée, sauf que comme présenté sur ce screen, il n'est pas affiché, il n'y a que PostgreSQL. Je dois donc trouver un moyen de résoudre ce souci.

Problème PostgreSQL

⚠️ Problème : Seul PostgreSQL est disponible, MySQL n'apparaît pas

Résolution du problème

J'ai donc en premier lieu, regardé dans le fichier de configuration qui gère les identifiants de la base de données, je me disais que j'avais peut-être oublié de décommenter un paramètre qui permettrait de détecter MySQL en type de base de données, mais je n'avais rien oublié.

Vérification configuration

Vérification du fichier de configuration - paramètres corrects

J'ai par la suite regardé dans tous les fichiers de configuration et les README.Debian dont j'avais pu avoir accès jusqu'à présent, et je me suis rendu qu'il y a un paramètre que j'avais oublié de lire lors de la première lecture du README.Debian du répertoire /usr/share/doc/zabbix-frontend-php. Il y a une catégorie «Configuring the Zabbix frontend», et dans cette catégorie, si on lit bien le deuxième paragraphe, il est indiqué que si nous voulons utiliser PostgreSQL comme base de données, il faut vérifier que le paquet correspondant est bien installé, sauf qu'à l'inverse du paragraphe, il est indiqué que si j'ai besoin du MySQL comme base de données, alors j'aurais besoin d'installer le paquet php-mysql, je pensais qu'il se serait installé automatiquement lorsque j'ai installé les 5 paquets de Zabbix, mais apparemment non.

README php-mysql

Découverte de la solution dans le README : installation du paquet php-mysql nécessaire

Installation de php-mysql et résolution

Je me suis donc rendu dans Aptitude et j'ai recherché le paquet «php-mysql», je l'ai installé, puis je suis revenu sur l'interface web de Zabbix en rechargeant la page, cette-fois-ci, MySQL était bien détecté comme type de base de données.

MySQL détecté

✅ Problème résolu : MySQL est maintenant détecté correctement

Configuration de la base de données

Il faut également renseigner l'hôte de la base de données, le nom de la base de données, l'utilisateur et son mot de passe. Toutes ces informations correspondent aux informations de la base de données, renseignées dans le fichier zabbix_server.conf (/etc/zabbix).

Configuration BDD

Renseignement des paramètres de connexion à la base de données MySQL

Paramètres du serveur Zabbix

Pour finir, il faut renseigner le nom du serveur Zabbix, qui sera le même que le nom de la machine virtuelle, ainsi que le fuseau horaire correspondant à ma localisation.

Paramètres serveur

Configuration du nom du serveur et du fuseau horaire

Je vérifie que toutes les informations j'ai renseignées sont correctes : le type de base de données, le serveur, le port, le nom, l'utilisateur, ainsi que le nom du serveur Zabbix.

Résumé configuration

Récapitulatif de tous les paramètres avant validation

Installation manuelle du fichier de configuration

Zabbix indique qu'il est impossible de créer automatiquement le fichier de configuration. Solution : téléchargement du fichier zabbix.conf.php, copie de son contenu, puis création manuelle via nano zabbix.conf.php dans le répertoire /etc/zabbix.

Erreur création fichier

Message d'erreur : installation manuelle requise

Création fichier

Création manuelle du fichier avec nano

Installation réussie !
Après actualisation de la page, Zabbix confirme l'installation avec succès : le fichier /etc/zabbix/zabbix.conf.php a bien été créé.

Interface Zabbix opérationnelle

Interface web de Zabbix opérationnelle et prête à l'emploi

Résumé de la mission

J'ai donc déployé l'outil qui m'était demandé. J'ai rencontré des difficultés que j'ai pu résoudre avec du temps et de la recherche, notamment pour l'erreur sur la base de données. Ce projet m'a beaucoup aidé à faire des recherches en autonomie dans des fichiers de configuration, sans aide de documentations ou sans demander la solution à mon tuteur. Je garde donc un très positif de cette mise en place de Zabbix. Il y a un seul point négatif que je retiens, il me concerne, c'est que je ne pense pas toujours à faire de sauvegardes avant de modifier un fichier de configuration, j'y ai pensé pour le php.ini, mais tous les autres fichiers de configuration, je les ai modifiés sans faire de sauvegarde avant, et donc, qui dit pas de sauvegarde, dit que si je fais une erreur dans ma saisie sur le fichier et que je sauvegarde comme il est, je n'ai pas moyen de revenir en arrière sur ce que j'ai tapé, et cela peut donc engendrer des oublis sur le contenu original du fichier à l'origine.

Ma perspective d'évolution concernant ce type de projets est donc de faire, dès que je le peux, des sauvegardes de fichiers, mais c'est pareil pour les machines virtuelles, il faut les sauvegarder régulièrement en cas de manipulation qui les feraient dysfonctionner.

Compétences mobilisées

B1.1.4 B1.3 B1.4 B1.5 B2.1.3 B2.2.5

Télécharger le document complet

Vous pouvez télécharger l'intégralité de cette partie au format PDF pour consultation hors ligne ou impression.

Télécharger le PDF

Référentiel des compétences SIO

B1.1.4 - Gérer des sauvegardes
B1.3 - Installer et configurer un service réseau
B1.4 - Gérer le patrimoine informatique
B1.5 - Mettre à disposition des utilisateurs un service informatique
B2.1.3 - Maquetter et prototyper une solution d'infrastructure
B2.2.5 - Installer et configurer des éléments nécessaires pour assurer la continuité des services