Comment installer et configurer Zabbix pour surveiller en toute sécurité les serveurs distants sur CentOS 7

L’auteur a sélectionné la Open Source Initiative pour recevoir un don dans le cadre du programme Write for DOnations .

introduction

Zabbix est un logiciel de surveillance open source pour réseaux et applications. Il offre une surveillance en temps réel de milliers de métriques collectées à partir de serveurs, de machines virtuelles, de périphériques réseau et d’applications Web. Ces métriques peuvent vous aider à déterminer l’état actuel de votre infrastructure informatique et à détecter les problèmes liés aux composants matériels ou logiciels avant que les clients ne se plaignent. Les informations utiles sont stockées dans une base de données afin que vous puissiez analyser des données au fil du temps et améliorer la qualité des services fournis, ou planifier des mises à niveau de votre équipement.

Zabbix utilise plusieurs options pour collecter des métriques, notamment la surveillance sans agent des services utilisateur et l’architecture client-serveur. Pour collecter les métriques du serveur, il utilise un petit agent sur le client surveillé pour collecter des données et les envoyer au serveur Zabbix. Zabbix prend en charge les communications cryptées entre le serveur et les clients connectés. Vos données sont donc protégées pendant leur transfert sur des réseaux non sécurisés.

Le serveur Zabbix stocke ses données dans une base de données relationnelle alimentée par MySQL, PostgreSQL ou https://www.oracle.com. /index.html[Oracle]. Vous pouvez également stocker des données historiques dans des bases de données nosql telles que Elasticsearch et TimescaleDB. Zabbix fournit une interface Web vous permettant d’afficher des données et de configurer les paramètres du système.

Dans ce tutoriel, vous allez configurer deux machines. L’un sera configuré en tant que serveur et l’autre en tant que client à surveiller. Le serveur utilisera une base de données MySQL pour enregistrer les données de surveillance et utilisera Apache pour desservir l’interface Web.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin de:

De plus, comme vous utiliserez le serveur Zabbix pour accéder à des informations précieuses sur votre infrastructure auxquelles vous ne voudriez pas que des utilisateurs non autorisés aient accès, il est important de protéger votre serveur en installant un certificat TLS / SSL. C’est facultatif mais * fortement encouragé *. Vous pouvez suivre le guide Let Encrypt on CentOS 7 pour obtenir un certificat TLS / SSL gratuit.

Étape 1 - Installation du serveur Zabbix

Tout d’abord, vous devez installer Zabbix sur le serveur sur lequel vous avez installé MySQL, Apache et PHP. Connectez-vous à cette machine en tant qu’utilisateur non root:

ssh @

Zabbix n’étant pas disponible par défaut dans le gestionnaire de paquets, installez donc un package de configuration de référentiel à l’aide du official référentiel Zabbix pour CentOS. Ce tutoriel utilisera la version ++ de Zabbix:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm

Vous verrez la sortie suivante:

OutputRetrieving https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm
warning: /var/tmp/rpm-tmp.WXsYNB: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:zabbix-release-4.2-1.el7         ################################# [100%]

Effacer toutes les entrées des référentiels actuellement activés du cache:

sudo yum clean all

Ensuite, installez le serveur Zabbix et l’interface Web avec le support de base de données MySQL:

sudo yum install zabbix-server-mysql zabbix-web-mysql

Au cours du processus d’installation, il vous sera demandé d’importer une clé GPG. Cette clé vérifiera l’authenticité du paquet que vous installez. Pour permettre à l’installation de se terminer, acceptez la clé GPG en tapant + y + et en appuyant sur + ENTER + lorsque vous y êtes invité.

Installez également l’agent Zabbix, qui vous permettra de collecter des données sur l’état du serveur Zabbix lui-même.

sudo yum install zabbix-agent

Avant de pouvoir utiliser Zabbix, vous devez configurer une base de données pour stocker les données que le serveur Zabbix collectera auprès de ses agents. Vous pouvez le faire à l’étape suivante.

Étape 2 - Configuration de la base de données MySQL pour Zabbix

Vous devez créer une nouvelle base de données MySQL et la renseigner avec des informations de base afin de l’adapter à Zabbix. Vous allez également créer un utilisateur spécifique pour cette base de données afin que Zabbix ne se connecte pas à MySQL avec le compte + root +.

Connectez-vous à MySQL en tant qu’utilisateur * root * à l’aide du mot de passe * root * que vous avez défini lors de l’installation du serveur MySQL:

mysql -uroot -p

Créez la base de données Zabbix avec la prise en charge des caractères UTF-8:

create database zabbix character set utf8 collate utf8_bin;

Créez ensuite un utilisateur que le serveur Zabbix utilisera, donnez-lui l’accès à la nouvelle base de données et définissez le mot de passe de l’utilisateur:

grant all privileges on zabbix.* to @localhost identified by '';

Puis appliquez ces nouvelles autorisations:

flush privileges;

Cela prend soin de l’utilisateur et de la base de données. Quittez la console de base de données:

quit;

Ensuite, importez le schéma initial et les données. L’installation de Zabbix vous a fourni un fichier qui le configure.

Exécutez la commande suivante pour configurer le schéma et importer les données dans la base de données + zabbix +. Utilisez + zcat + car les données du fichier sont compressées.

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

Entrez le mot de passe de l’utilisateur + zabbix + MySQL que vous avez configuré à l’invite.

Cette commande ne générera aucune erreur si elle réussit. Si vous voyez l’erreur + ERROR 1045 (28000): Accès refusé pour l’utilisateur @ 'localhost' (à l’aide du mot de passe: OUI) +, assurez-vous d’avoir utilisé le mot de passe de l’utilisateur * zabbix * et non de l’utilisateur * root *.

Pour que le serveur Zabbix utilise cette base de données, vous devez définir le mot de passe de la base de données dans le fichier de configuration du serveur Zabbix. Ouvrez le fichier de configuration dans votre éditeur de texte préféré. Ce tutoriel utilisera + vi +:

sudo vi /etc/zabbix/zabbix_server.conf

Recherchez la section suivante du fichier:

/etc/zabbix/zabbix_server.conf

...
### Option: DBPassword
#       Database password. Ignored for SQLite.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
...

Ces commentaires dans le fichier expliquent comment se connecter à la base de données. Vous devez définir la valeur + DBPassword + dans le fichier avec le mot de passe de votre utilisateur de base de données. Entrez en mode insertion en appuyant sur + i +, sans commenter + DBPassword = +, et ajoutez votre mot de passe pour configurer la base de données:

/etc/zabbix/zabbix_server.conf

...
# Mandatory: no
# Default
DBPassword=
...

Lorsque vous avez terminé, appuyez sur + ECHAP + pour quitter le mode insertion, puis sur '+: wq + et + ENTER + `pour enregistrer et quitter le fichier.

Cela prend en charge la configuration du serveur Zabbix. Ensuite, vous apporterez des modifications à votre configuration PHP pour que l’interface Web de Zabbix fonctionne correctement.

Étape 3 - Configuration de PHP pour Zabbix

L’interface Web de Zabbix est écrite en PHP et nécessite des paramètres de serveur PHP spéciaux. Le processus d’installation de Zabbix a créé un fichier de configuration Apache contenant ces paramètres. Vous devez apporter une petite modification à ce fichier, ouvrez-le ainsi:

sudo vi /etc/httpd/conf.d/zabbix.conf

Le fichier contient les paramètres PHP qui répondent à la configuration requise pour l’interface Web de Zabbix. Cependant, le réglage du fuseau horaire est commenté par défaut. Pour vous assurer que Zabbix utilise l’heure correcte, vous devez définir le fuseau horaire approprié.

/etc/httpd/conf.d/zabbix.conf

...
<IfModule mod_php5.c>
   php_value max_execution_time 300
   php_value memory_limit 128M
   php_value post_max_size 16M
   php_value upload_max_filesize 2M
   php_value max_input_time 300
   php_value max_input_vars 10000
   php_value always_populate_raw_post_data -1

</IfModule>

Décommentez la ligne du fuseau horaire, mise en surbrillance dans le bloc de code précédent, et remplacez-la par votre fuseau horaire. Vous pouvez utiliser cette list des fuseaux horaires pris en charge pour trouver celui qui vous convient. Puis enregistrez et fermez le fichier.

Maintenant, redémarrez Apache pour appliquer ces nouveaux paramètres:

sudo systemctl restart httpd

Vous pouvez maintenant démarrer le serveur Zabbix et l’agent:

sudo systemctl start zabbix-server
sudo systemctl start zabbix-agent

Ensuite, vérifiez si le serveur Zabbix fonctionne correctement:

sudo systemctl status zabbix-server

Vous verrez l’état suivant:

Output● zabbix-server.service - Zabbix Server
  Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled)
  Active:  since Fri 2019-05-03 05:57:29 UTC; 2s ago
 Process: 4461 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 ...

Enfin, activez le serveur et l’agent pour qu’ils démarrent au démarrage:

sudo systemctl enable zabbix-server
sudo systemctl enable zabbix-agent

Le serveur est configuré et connecté à la base de données. Ensuite, configurez l’interface Web.

Étape 4 - Configuration des paramètres de l’interface Web de Zabbix

L’interface Web vous permet d’afficher des rapports et d’ajouter des hôtes à surveiller, mais une configuration initiale est nécessaire avant de pouvoir l’utiliser. Lancez votre navigateur et allez à l’adresse + http: /// zabbix / +. Sur le premier écran, vous verrez un message de bienvenue. Cliquez sur * Étape suivante * pour continuer.

Sur l’écran suivant, vous verrez le tableau qui répertorie toutes les conditions préalables à l’exécution de Zabbix.

image: https: //assets.digitalocean.com/cart_66486/Prerequisites_Cent.png [Prérequis]

Toutes les valeurs de ce tableau doivent être * OK *, vérifiez donc qu’elles le sont. Assurez-vous de faire défiler la liste et de regarder toutes les conditions préalables. Une fois que vous avez vérifié que tout est prêt, cliquez sur * Étape suivante * pour continuer.

L’écran suivant demande des informations de connexion à la base de données.

image: https: //assets.digitalocean.com/articles/cart_66209/DB_Connection.png [Connexion à la base de données]

Vous avez parlé de votre base de données au serveur Zabbix, mais l’interface Web de Zabbix doit également avoir accès à la base de données pour gérer les hôtes et lire les données. Par conséquent, entrez les informations d’identification MySQL que vous avez configurées à l’étape 2 et cliquez sur * Étape suivante * pour continuer.

Sur l’écran suivant, vous pouvez laisser les options à leurs valeurs par défaut.

image: https: //assets.digitalocean.com/articles/cart_66209/Server_Details.png [Détails du serveur Zabbix]

Le * Nom * est facultatif; il est utilisé dans l’interface Web pour distinguer un serveur d’un autre si vous avez plusieurs serveurs de surveillance. Cliquez sur * Étape suivante * pour continuer.

L’écran suivant affichera le résumé de pré-installation afin que vous puissiez confirmer que tout est correct.

image: https: //assets.digitalocean.com/articles/cart_66209/Summary.png [Résumé]

Cliquez sur * Étape suivante * pour passer à l’écran final.

La configuration de l’interface Web est terminée. Ce processus crée le fichier de configuration + / etc / zabbix / web / zabbix.conf.php + que vous pourrez sauvegarder et utiliser ultérieurement. Cliquez sur * Terminer * pour accéder à l’écran de connexion. L’utilisateur par défaut est * Admin * et le mot de passe est * zabbix *.

Avant de vous connecter, configurez l’agent Zabbix sur votre deuxième serveur CentOS.

Étape 5 - Installation et configuration de l’agent Zabbix

Vous devez maintenant configurer le logiciel agent qui enverra les données de surveillance au serveur Zabbix.

Connectez-vous au deuxième serveur CentOS:

ssh @

Ensuite, comme sur le serveur Zabbix, exécutez la commande suivante pour installer le package de configuration du référentiel:

sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-.el7.noarch.rpm

Ensuite, effacez le cache yum:

sudo yum clean all

Ensuite, installez l’agent Zabbix:

sudo yum install zabbix-agent

Au cours du processus d’installation, il vous sera demandé d’importer une clé GPG. Confirmez-le pour que l’installation puisse se terminer.

Bien que Zabbix prenne en charge le cryptage basé sur un certificat, la configuration d’une autorité de certification dépasse le cadre de ce didacticiel. À la place, ce tutoriel utilisera pre-shared keys (PSK) pour sécuriser la connexion entre le serveur et l’agent.

Commencez par générer une PSK:

sudo sh -c "openssl rand -hex 32 > /etc/zabbix/zabbix_agentd.psk"

Affichez la clé pour pouvoir la copier quelque part. Vous en aurez besoin pour configurer l’hôte.

cat /etc/zabbix/zabbix_agentd.psk

La clé ressemblera à ceci:

Output

Modifiez maintenant les paramètres de l’agent Zabbix pour configurer sa connexion sécurisée au serveur Zabbix. Ouvrez le fichier de configuration de l’agent dans votre éditeur de texte:

sudo vi /etc/zabbix/zabbix_agentd.conf

Chaque paramètre de ce fichier est documenté via des commentaires informatifs tout au long du fichier, mais vous n’avez qu’à en modifier certains.

Vous devez d’abord modifier l’adresse IP du serveur Zabbix. Trouvez la section suivante:

/etc/zabbix/zabbix_agentd.conf

...
### Option: Server
#       List of comma delimited IP addresses (or hostnames) of Zabbix servers.
#       Incoming connections will be accepted only from the hosts listed here.
#       If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
#
# Mandatory: no
# Default:
# Server=

Server=127.0.0.1
...

Changez la valeur par défaut en IP de votre serveur Zabbix:

/etc/zabbix/zabbix_agentd.conf

...
# Mandatory: no
# Default:
# Server=

Server=
...

Recherchez ensuite la section qui configure la connexion sécurisée au serveur Zabbix et activez la prise en charge des clés pré-partagées. Recherchez la section + TLSConnect +, qui ressemble à ceci:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSConnect
#       How the agent should connect to server or proxy. Used for active checks.
#       Only one value can be specified:
#               unencrypted - connect without encryption
#               psk         - connect using TLS and a pre-shared key
#               cert        - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSConnect=unencrypted
...

Puis décommentez + TLSConnect = + et remplacez + + non crypté + par + psk + pour configurer la prise en charge des clés pré-partagées:

/etc/zabbix/zabbix_agentd.conf

...
TLSConnect=
...

Ensuite, localisez la section + TLSAccept +, qui ressemble à ceci:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSAccept
#       What incoming connections to accept.
#       Multiple values can be specified, separated by comma:
#               unencrypted - accept connections without encryption
#               psk         - accept connections secured with TLS and a pre-shared key
#               cert        - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSAccept=unencrypted
...

Configurez les connexions entrantes pour prendre en charge les clés pré-partagées en supprimant la mise en commentaire de + TLSAccept = + et en ajoutant + psk +:

/etc/zabbix/zabbix_agentd.conf

...
TLSAccept=
...

Ensuite, recherchez la section + TLSPSKIdentity +, qui ressemble à ceci:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
...

Choisissez un nom unique pour identifier votre clé pré-partagée en supprimant la mise en commentaire + TLSPSKIdentity = + et en ajoutant le code en surbrillance:

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKIdentity=
...

Vous utiliserez ceci comme * ID PSK * lorsque vous ajouterez votre hôte via l’interface Web de Zabbix.

Puis définissez l’option qui pointe vers votre clé pré-partagée créée précédemment. Localisez l’option + TLSPSKFile +:

/etc/zabbix/zabbix_agentd.conf

...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
...

Décommentez + TLSPSKFile = + et ajoutez ce texte pour que l’agent Zabbix pointe le fichier PSK que vous avez créé:

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKFile=
...

Enregistrez et fermez le fichier. Maintenant, vous pouvez démarrer l’agent Zabbix et le configurer pour qu’il démarre au démarrage:

sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Pour faire bonne mesure, vérifiez que l’agent Zabbix fonctionne correctement:

sudo systemctl status zabbix-agent

Vous verrez l’état suivant, indiquant que l’agent est en cours d’exécution:

Output● zabbix-agent.service - Zabbix Agent
  Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: disabled)
  Active:  since Fri 2019-05-03 06:25:06 UTC; 28s ago
 ...

L’agent écoute sur le port + 10050 + les connexions du serveur. Afin de configurer l’accès provenant d’adresses ou de sous-réseaux IP spécifiques, utilisez la fonctionnalité rich rule de + firewalld +:

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="/32" port protocol="tcp" port="10050" accept'

Les règles riches vous permettent de créer des règles + firewalld + plus complexes et personnalisables pour obtenir un meilleur contrôle de votre pare-feu. Dans cette commande, vous ajoutez une règle qui accepte le trafic + ipv4 + de la source, que vous avez définie comme adresse IP du serveur Zabbix, sur + port + + 10050 + de votre deuxième serveur CentOS.

Rechargez ensuite + firewalld + pour activer la nouvelle règle:

sudo firewall-cmd --reload

Votre agent est maintenant prêt à accepter les connexions et à envoyer des données au serveur Zabbix. Mais pour l’utiliser, vous devez vous y connecter depuis la console Web du serveur. Dans l’étape suivante, vous allez terminer la configuration.

Étape 6 - Ajout du nouvel hôte au serveur Zabbix

L’installation d’un agent sur un serveur que vous souhaitez surveiller ne représente que la moitié du processus. Chaque hôte que vous souhaitez surveiller doit être enregistré sur le serveur Zabbix, ce que vous pouvez faire via l’interface Web.

Connectez-vous à l’interface Web du serveur Zabbix en accédant à l’adresse + http: /// zabbix / +.

image: https: //assets.digitalocean.com/articles/cart_66209/Login_Screen.png [Écran de connexion Zabbix]

Une fois connecté, cliquez sur * Configuration *, puis * Hôtes * dans la barre de navigation supérieure. Cliquez ensuite sur le bouton * Créer un hôte * dans le coin supérieur droit de l’écran. Cela ouvrira la page de configuration de l’hôte.

image: https: //assets.digitalocean.com/cart_66486/Create_Host_Cent.png [Création d’un hôte]

Ajustez les * Nom d’hôte * et * Adresse IP * pour refléter le nom d’hôte et l’adresse IP de votre deuxième serveur CentOS, puis ajoutez l’hôte à un groupe. Vous pouvez sélectionner un groupe existant, par exemple * Serveurs Linux * ou créer votre propre groupe. L’hôte peut être dans plusieurs groupes. Pour ce faire, entrez le nom d’un groupe existant ou nouveau dans le champ * Groupes * et sélectionnez la valeur souhaitée dans la liste proposée.

Une fois le groupe ajouté, cliquez sur l’onglet * Modèles *.

image: https: //assets.digitalocean.com/articles/cart_66209/Add_Template.png [Ajout d’un modèle à l’hôte]

Tapez + Template OS Linux + dans le champ * Rechercher * puis cliquez sur * Ajouter * immédiatement sous la barre de recherche pour ajouter ce modèle à l’hôte.

Ensuite, accédez à l’onglet * Encryption *. Sélectionnez * PSK * pour * Les connexions à l’hôte * et * Connexions à partir de l’hôte * et décochez * Pas de cryptage * pour * Les connexions à partir de l’hôte *. Définissez ensuite * PSK identity * sur + PSK 001 +, qui correspond à la valeur du paramètre * TLSPSKIdentity * de l’agent Zabbix que vous avez précédemment configuré. Définissez ensuite la valeur * PSK * sur la clé que vous avez générée pour l’agent Zabbix. C’est celui qui est stocké dans le fichier + / etc / zabbix / zabbix_agentd.psk + sur la machine de l’agent.

image: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Encryption.png [Configuration du cryptage]

Enfin, cliquez sur le bouton * Ajouter * en bas du formulaire pour créer l’hôte.

Vous verrez votre nouvel hôte dans la liste. Attendez une minute et rechargez la page pour voir les étiquettes vertes indiquant que tout fonctionne correctement et que la connexion est cryptée.

image: https: //assets.digitalocean.com/cart_66486/New_Host_Cent.png [Zabbix montre votre nouvel hôte]

Si vous avez des serveurs supplémentaires à surveiller, connectez-vous à chaque hôte, installez l’agent Zabbix, générez un PSK, configurez l’agent et ajoutez l’hôte à l’interface Web en suivant les mêmes étapes que vous avez suivies pour ajouter votre premier hôte.

Le serveur Zabbix surveille maintenant votre deuxième serveur CentOS. Maintenant, configurez les notifications par courrier électronique pour être averti des problèmes.

Étape 7 - Configuration des notifications par courrier électronique

Zabbix supporte automatiquement plusieurs types de notifications: email, Jabber, SMS, etc. Vous pouvez également utiliser d’autres méthodes de notification, telles que Telegram ou Slack. Vous pouvez voir la liste complète des intégrations here.

La méthode de communication la plus simple est la messagerie électronique. Ce didacticiel configurera les notifications pour ce type de support.

Cliquez sur * Administration *, puis sur * Types de support * dans la barre de navigation supérieure. Vous verrez la liste de tous les types de médias. Cliquez sur * Email *.

Ajustez les options SMTP en fonction des paramètres fournis par votre service de messagerie. Ce didacticiel utilise les fonctionnalités SMTP de Gmail pour configurer les notifications par courrier électronique. Si vous souhaitez plus d’informations sur sa configuration, voir Comment utiliser le serveur SMTP de Google.

Vous pouvez également choisir le message format-html ou texte brut. Enfin, cliquez sur le bouton * Mettre à jour * au bas du formulaire pour mettre à jour les paramètres de courrier électronique.

image: https: //assets.digitalocean.com/articles/cart_66209/Set_Up_Email.png [Configuration de la messagerie électronique]

Maintenant, créez un nouvel utilisateur. Cliquez sur * Administration *, puis * Utilisateurs * dans la barre de navigation supérieure. Vous verrez la liste des utilisateurs. Cliquez ensuite sur le bouton * Créer un utilisateur * dans le coin supérieur droit de l’écran. Cela ouvrira la page de configuration de l’utilisateur.

image: https: //assets.digitalocean.com/articles/cart_66209/Create_User.png [Création d’un utilisateur]

Entrez le nouveau nom d’utilisateur dans le champ * Alias ​​* et configurez un nouveau mot de passe. Ajoutez ensuite l’utilisateur au groupe de l’administrateur. Tapez + administrateurs Zabbix + dans le champ * Groupes * et sélectionnez-le dans la liste proposée.

Une fois le groupe ajouté, cliquez sur l’onglet * Média *, puis sur le lien souligné * Ajouter *. Vous verrez une fenêtre pop-up.

image: https: //assets.digitalocean.com/articles/cart_66209/Add_Email.png [Ajouter un email]

Entrez votre adresse email dans le champ * Envoyer à *. Vous pouvez laisser le reste des options aux valeurs par défaut. Cliquez sur le bouton * Ajouter * en bas pour soumettre.

Accédez maintenant à l’onglet * Autorisations *. Sélectionnez * Zabbix Super Admin * dans le menu déroulant * Type d’utilisateur *.

Enfin, cliquez sur le bouton * Ajouter * en bas du formulaire pour créer l’utilisateur.

Maintenant, vous devez activer les notifications. Cliquez sur l’onglet * Configuration *, puis sur * Actions * dans la barre de navigation supérieure. Vous verrez une action préconfigurée, chargée d’envoyer des notifications à tous les administrateurs de Zabbix. Vous pouvez consulter et modifier les paramètres en cliquant sur son nom. Pour les besoins de ce tutoriel, utilisez les paramètres par défaut. Pour activer l’action, cliquez sur le lien rouge * Disabled * dans la colonne * Status *.

Vous êtes maintenant prêt à recevoir des alertes. Dans l’étape suivante, vous en générerez un pour tester votre configuration de notification.

Étape 8 - Générer une alerte de test

Dans cette étape, vous allez générer une alerte test pour vous assurer que tout est connecté. Par défaut, Zabbix assure le suivi de la quantité d’espace disque disponible sur votre serveur. Il détecte automatiquement tous les montages sur disque et ajoute les vérifications correspondantes. Cette découverte est exécutée toutes les heures. Vous devez donc attendre un moment pour que la notification soit déclenchée.

Créez un fichier temporaire suffisamment volumineux pour déclencher une alerte d’utilisation du système de fichiers de Zabbix. Pour ce faire, connectez-vous à votre deuxième serveur CentOS si vous n’êtes pas déjà connecté.

ssh @

Ensuite, déterminez combien d’espace libre vous avez sur le serveur. Vous pouvez utiliser la commande + df + pour découvrir:

df -h

La commande + df + signalera l’utilisation de l’espace disque de votre système de fichiers et la commande + -h + rendra la sortie lisible par l’homme. Vous verrez une sortie comme celle-ci:

OutputFilesystem      Size  Used Avail Use% Mounted on
/dev/vda1        25G  958M      4% /

Dans ce cas, l’espace disponible est + 25 Go +. Votre espace libre peut différer.

Utilisez la commande + fallocate +, qui vous permet de pré-allouer ou de dé-allouer de l’espace dans un fichier, pour créer un fichier occupant plus de 80% de l’espace disque disponible. Cela suffira pour déclencher l’alerte:

fallocate -l  /tmp/temp.img

Après environ une heure, Zabbix déclenchera une alerte concernant la quantité d’espace disque disponible et exécutera l’action que vous avez configurée en envoyant le message de notification. Vous pouvez vérifier dans votre boîte de réception le message du serveur Zabbix. Vous verrez un message comme:

Problem started at 10:49:25 on 2019.05.03
Problem name: Free disk space is less than 20% on volume /
Host: Second Centos Server
Severity: Warning

Original problem ID: 34

Vous pouvez également accéder à l’onglet * Monitoring *, puis à * Dashboard * pour voir la notification et ses détails.

image: https: //assets.digitalocean.com/cart_66486/Main_Dashboard_Cent.png [Tableau de bord principal]

Maintenant que vous savez que les alertes fonctionnent, supprimez le fichier temporaire que vous avez créé afin de pouvoir récupérer votre espace disque:

rm -f /tmp/temp.img

Après une minute, Zabbix enverra le message de récupération et l’alerte disparaîtra du tableau de bord principal.

Conclusion

Dans ce didacticiel, vous définissez une solution de surveillance simple et sécurisée qui vous aidera à surveiller l’état de vos serveurs. Il peut désormais vous avertir des problèmes et vous avez la possibilité d’analyser les processus en cours dans votre infrastructure informatique.

Pour en savoir plus sur la configuration d’une infrastructure de surveillance, consultez How Pour installer Elasticsearch, Logstash et Kibana (Elastic Stack) sur CentOS 7 et https://www.digitalocean.com/community/tutorials/how-to-gather-infrastructure-metrics-with-metricbeat-on-centos-7 [Comment rassembler des métriques d’infrastructure avec Metricbeat sur CentOS 7].