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

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

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 le serveur Zabbix est utilisé 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 https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-18-04 de Encrypt on Ubuntu 18.04] pour: obtenir le 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 est disponible dans le gestionnaire de paquets d’Ubuntu, mais il est obsolète. Utilisez donc le référentiel official Zabbix pour installer la dernière version stable. Téléchargez et installez le package de configuration du référentiel:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_+bionic_all.deb
sudo dpkg -i zabbix-release_+bionic_all.deb

Vous verrez la sortie suivante:

OutputSelecting previously unselected package zabbix-release.
(Reading database ... 61483 files and directories currently installed.)
Preparing to unpack zabbix-release_+bionic_all.deb ...
Unpacking zabbix-release (+bionicc) ...
Setting up zabbix-release (+bionicc) ...

Mettez à jour l’index du paquet pour inclure le nouveau référentiel:

sudo apt update

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

sudo apt install zabbix-server-mysql zabbix-frontend-php

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

sudo apt 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, vous devez importer 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 + 'zabbix + @' localhost '(en utilisant le mot de passe: YES) +`, assurez-vous que vous avez utilisé le mot de passe pour l’utilisateur * zabbix ​​* et non le *. root * utilisateur.

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 + nano +:

sudo nano /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. Ajoutez cette ligne sous ces commentaires pour configurer la base de données:

/etc/zabbix/zabbix_server.conf

...
DBPassword=

Enregistrez et fermez + zabbix_server.conf en appuyant sur` + CTRL + X + , suivi de + Y + puis de + ENTER si vous utilisez` + nano + `.

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. Il se trouve dans le répertoire + / etc / zabbix + et est chargé automatiquement par Apache. Vous devez apporter une petite modification à ce fichier, ouvrez-le ainsi:

sudo nano /etc/zabbix/apache.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/zabbix/apache.conf

...
<IfModule mod_php7.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 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 apache2

Vous pouvez maintenant démarrer le serveur Zabbix.

sudo systemctl start zabbix-server

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 (/lib/systemd/system/zabbix-server.service; disabled; vendor preset: enabled)
  Active:  since Fri 2019-04-05 08:50:54 UTC; 3s ago
 Process: 16497 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
 ...

Enfin, activez le démarrage du serveur au démarrage:

sudo systemctl enable zabbix-server

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/articles/cart_66209/Prerequisites.png [Conditions préalables]

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 + / usr / share / zabbix / conf / 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 Ubuntu.

É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 Ubuntu:

ssh @

Ensuite, comme sur le serveur Zabbix, exécutez les commandes suivantes pour installer le package de configuration du référentiel:

wget https://repo.zabbix.com/zabbix/4.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_+bionic_all.deb
sudo dpkg -i zabbix-release_+bionic_all.deb

Ensuite, mettez à jour l’index du paquet:

sudo apt update

Ensuite, installez l’agent Zabbix:

sudo apt install zabbix-agent

Bien que Zabbix prenne en charge le cryptage basé sur les certificats, la configuration d’une autorité de certification dépasse le cadre de ce didacticiel, mais vous pouvez utiliser des clés pré-partagées (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 nano /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

...
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
...

Ajoutez ensuite cette ligne pour configurer le support 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 ajoutant cette ligne:

/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 ajoutant cette ligne:

/etc/zabbix/zabbix_agentd.conf

...

...

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=
...

Ajoutez cette ligne pour diriger l’agent Zabbix vers le fichier PSK que vous avez créé:

/etc/zabbix/zabbix_agentd.conf

...
TLSPSKFile=
...

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

sudo systemctl restart 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 (/lib/systemd/system/zabbix-agent.service; enabled; vendor preset: enabled)
  Active:  since Fri 2019-04-05 09:03:04 UTC; 1s ago
 ...

L’agent écoute sur le port + 10050 + les connexions du serveur. Configurez UFW pour autoriser les connexions à ce port:

sudo ufw allow 10050/tcp

Pour en savoir plus sur UFW, consultez la page Comment configurer une Pare-feu avec UFW sur Ubuntu 18.04.

Votre agent est maintenant prêt à 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/articles/cart_66209/Create_Host.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 Ubuntu, 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 que vous avez ajouté le groupe, 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 * 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 *. 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/articles/cart_66209/New_Host.png [Zabbix présente 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 Ubuntu. 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 les autres 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 Ubuntu 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  1.2G      5% /

Dans ce cas, l’espace libre est de * 23 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. Ce sera suffisant pour déclencher l’alerte:

fallocate -l 20G /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:

OutputProblem started at 10:37:54 on 2019.04.05
Problem name: Free disk space is less than 20% on volume /
Host: Second Ubuntu 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/articles/cart_66209/Main_Dashboard.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 avez appris à configurer 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 https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elastic-stack-on-ubuntu-18-04. [Comment installer Elasticsearch, Logstash et Kibana (Elastic Stack) sur Ubuntu 18.04] et https://www.digitalocean.com/community/tutorials/how-to-gather-infrastructure-metrics-with-metricbeat-on-ubuntu -18-04 [Comment rassembler des métriques d’infrastructure avec Metricbeat sur Ubuntu 18.04].

Related