GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer Zabbix sur Ubuntu 18.04

Zabbix est l'un des outils logiciels de surveillance open source les plus populaires. Zabbix collecte des métriques à partir de vos appareils, systèmes et applications réseaux et s'assure qu'ils sont opérationnels. En cas de problème, Zabbix enverra des alertes de notification via différentes méthodes.

Zabbix peut être déployé pour une surveillance avec et sans agent. L'agent Zabbix a un faible encombrement et peut s'exécuter sur diverses plates-formes, notamment Linux, UNIX, macOS et Windows.

Ce tutoriel décrit comment installer et configurer la dernière version de Zabbix 4.0 sur un serveur Ubuntu 18.04 en utilisant MySQL comme back-end de base de données. Nous vous montrerons également comment installer l'agent Zabbix sur un hôte distant et ajouter l'hôte au serveur Zabbix.

Prérequis #

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur disposant des privilèges sudo.

Création de la base de données MySQL #

Zabbix prend en charge à la fois MySQL/MariaDB et PostgreSQL. Dans ce didacticiel, nous utiliserons MySQL comme back-end de base de données.

Si MySQL n'est pas déjà installé sur votre serveur Ubuntu, vous pouvez l'installer en suivant ces instructions.

Connectez-vous au shell MySQL en tapant la commande suivante :

sudo mysql

Depuis le shell MySQL, exécutez l'instruction SQL suivante pour créer une nouvelle base de données :

CREATE DATABASE zabbix CHARACTER SET utf8 collate utf8_bin;

Ensuite, créez un compte utilisateur MySQL et accordez l'accès à la base de données :

GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Assurez-vous de modifier change-with-strong-password avec un mot de passe fort.

Une fois cela fait, quittez la console mysql en tapant :

EXIT;

Installer Zabbix sur Ubuntu #

Au moment de la rédaction de cet article, la dernière version stable de Zabbix est la version 4.0. Les packages Zabbix disponibles dans les référentiels Ubuntu sont souvent obsolètes, nous utiliserons donc le référentiel officiel Zabbix.

1. Installation de Zabbix #

Téléchargez le dernier dépôt Zabbix .deb package avec la commande wget suivante :

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.deb

Une fois le fichier téléchargé, ajoutez le référentiel Zabbix à votre système Ubuntu 18.04 en tapant :

sudo apt install ./zabbix-release_4.0-2+bionic_all.deb

Mettez à jour l'index des packages et installez le serveur Zabbix, l'interface Web avec prise en charge de la base de données MySQL et l'agent Zabbix :

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

La commande ci-dessus installera également Apache, PHP et tous les modules PHP requis.

2. Configuration de PHP pour l'interface Zabbix #

Lors de l'installation, un fichier de configuration Apache est créé et contient tous les paramètres Apache et PHP requis. Il vous suffit de faire un petit changement et de définir le fuseau horaire approprié.

Ouvrez le fichier de configuration, décommentez la ligne de fuseau horaire et remplacez-la par votre fuseau horaire. Vous pouvez trouver la liste complète des fuseaux horaires pris en charge par PHP ici.

/etc/apache2/conf-enabled/zabbix.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 max_input_vars 10000
        php_value always_populate_raw_post_data -1
        php_value date.timezone America/Denver
    </IfModule>
...

Une fois cela fait, enregistrez le fichier de configuration et redémarrez le service Apache pour que les modifications prennent effet :

sudo systemctl restart apache2

3. Configuration de la base de données MySQL pour le serveur Zabbix #

Le package d'installation de Zabbix fournit un fichier de vidage qui inclut un schéma initial et des données pour le serveur Zabbix avec MySQL.

Importez le fichier de vidage MySQL en exécutant :

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

Lorsque vous y êtes invité, entrez le mot de passe utilisateur que vous avez créé précédemment. En cas de succès, aucune sortie n'est donnée.

Ensuite, nous devons modifier la configuration de Zabbix et définir le mot de passe de la base de données.

Ouvrez le fichier de configuration dans votre éditeur :

sudo nano /etc/zabbix/zabbix_server.conf

Recherchez la section suivante, décommentez le DBPassword directive et ajoutez le mot de passe de la base de données.

/etc/zabbix/zabbix_server.conf
...
### Option: DBPassword
#       Database password.
#       Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=change-with-strong-password
...

Enregistrez et fermez le fichier.

Redémarrez le serveur Zabbix et les services de l'agent et faites-les démarrer au démarrage du système :

sudo systemctl restart zabbix-server zabbix-agentsudo systemctl enable zabbix-server zabbix-agent

Pour vérifier si le serveur Zabbix est en cours d'exécution, tapez :

sudo systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/lib/systemd/system/zabbix-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-11-29 03:30:44 PST; 43s ago
 Main PID: 14293 (zabbix_server)
    Tasks: 34 (limit: 2319)
   CGroup: /system.slice/zabbix-server.service
   ...

Installation et configuration de l'interface Zabbix #

L'interface Web de Zabbix est écrite en PHP et nous permet de configurer le serveur, d'afficher les données recueillies et d'ajouter des hôtes que nous voulons surveiller.

Avant de commencer à utiliser l'interface Web, nous devons l'installer.

Ouvrez votre navigateur préféré et tapez le nom de domaine ou l'adresse IP publique de votre serveur suivi de /zabbix :

http(s)://your_domain_or_ip_address/zabbix

Sur le premier écran, un message de bienvenue s'affichera. Cliquez sur Next step pour continuer.

Ensuite, vous verrez la page d'informations suivante qui répertorie tous les prérequis PHP requis pour exécuter l'interface Zabbix. Toutes les valeurs de ce tableau doivent être OK , faites défiler vers le bas pour vérifier que tout est correctement configuré. Une fois vérifié, cliquez sur Next step pour continuer.

Sur l'écran suivant, l'assistant de configuration vous demandera d'entrer les détails de connexion à votre base de données. Entrez l'utilisateur MySQL et les détails de la base de données que vous avez créés précédemment.

La saisie d'un nom pour le serveur est facultative. Entrez-le si vous avez plusieurs serveurs de surveillance Zabbix. S'il est fourni, il sera affiché dans la barre de menu et les titres de page.

Cliquez sur Next step pour continuer.

Sur l'écran suivant, vous verrez le résumé de la pré-installation.

Cliquez sur Next step et une fois l'installation terminée, vous serez redirigé vers une page vous informant que l'interface Web Zabbix a été installée. Pour accéder à votre page de connexion Zabbix, cliquez sur Finish bouton.

L'utilisateur par défaut est "Admin" et le mot de passe est "zabbix". Entrez le nom d'utilisateur et le mot de passe et cliquez sur Log in bouton.

Une fois connecté, vous serez redirigé vers le tableau de bord d'administration de Zabbix.

À partir de là, vous pouvez commencer à personnaliser votre installation Zabbix et à ajouter de nouveaux hôtes. Votre première étape devrait être de changer le mot de passe actuel. Pour ce faire, accédez à la page de profil de l'utilisateur en cliquant sur l'icône de profil dans la barre de navigation supérieure.

Ajout d'un nouvel hôte au serveur Zabbix #

La procédure d'ajout d'un nouvel hôte à surveiller sur le serveur Zabbix comprend deux étapes.

Tout d'abord, vous devez installer l'agent Zabbix sur l'hôte distant, puis ajouter l'hôte au serveur Zabbix via l'interface Web.

Installation de l'agent Zabbix #

Ce didacticiel suppose que la machine hôte utilise également Ubuntu 18.04.

Comme lors de l'installation du serveur Zabbix, exécutez les commandes suivantes pour activer le référentiel Zabbix :

wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+bionic_all.debsudo apt install ./zabbix-release_4.0-2+bionic_all.deb

Mettez à jour l'index du package et installez le package de l'agent Zabbix :

sudo apt updatesudo apt install zabbix-agent

Zabbix prend en charge deux méthodes de chiffrement des communications serveur-client, la clé pré-partagée (PSK) et le chiffrement basé sur des certificats. Dans ce tutoriel, nous utiliserons la méthode des clés pré-partagées (PSK) pour sécuriser la connexion entre le serveur et l'agent.

Utilisez la commande suivante pour générer une clé pré-partagée et l'enregistrer dans un fichier :

openssl rand -hex 32 | sudo tee /etc/zabbix/zabbix_agentd.psk

La clé PSK ressemblera à ceci :

fc3077ed3db8589ec920ac98a7ddea96aca205eb63bbd29c66ae91743a7ecbb6

Ouvrez le fichier de configuration de l'agent Zabbix :

sudo nano /etc/zabbix/zabbix_agentd.conf

Rechercher le Server Adresse IP et remplacez-la par la valeur par défaut par l'adresse IP de votre serveur Zabbix :

/etc/zabbix/zabbix_agentd.conf
...
### Option: Server
#       List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
#       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
#       and '::/0' will allow any IPv4 or IPv6 address.
#       '0.0.0.0/0' can be used to allow any IPv4 address.
#       Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=

Server=127.0.0.1
...

Ensuite, trouvez le TSLConnect option, décommentez-la et définissez-la sur psk :

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

Localisez le TLSAccept option, décommentez-la et définissez-la sur psk :

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

Ensuite, recherchez le TLSPSKIdentity option, décommentez-la et définissez-la sur PSK 001 La valeur doit être une chaîne unique :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKIdentity
#       Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKIdentity=PSK 001
...

Enfin, localisez le TLSPSKFile option, décommentez-la et définissez-la pour qu'elle pointe vers la clé pré-partagée précédemment créée :

/etc/zabbix/zabbix_agentd.conf
...
### Option: TLSPSKFile
#       Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
TLSPSKFile=/etc/zabbix/zabbix_agentd.psk 
...

Une fois terminé, enregistrez et fermez le fichier.

Démarrez le service de l'agent Zabbix et configurez-le pour qu'il démarre au démarrage avec :

sudo systemctl start zabbix-agentsudo systemctl enable zabbix-agent

Ensuite, vous devrez ajouter une règle de pare-feu qui autorise le trafic de votre serveur Zabbix sur le port TCP 10050 .

En supposant que vous utilisez UFW pour gérer votre pare-feu et vous souhaitez autoriser l'accès depuis le 192.168.121.70 adresse IP, vous exécuterez la commande suivante :

sudo ufw allow proto tcp from 192.168.121.70 to any port 10050

Configurer un nouvel hôte #

Maintenant que l'agent sur l'hôte distant que vous souhaitez surveiller est installé et configuré, l'étape suivante consiste à enregistrer l'hôte sur le serveur Zabbix.

Connectez-vous à l'interface Web du serveur Zabbix en tant qu'utilisateur administrateur :

http(s)://your_domain_or_ip_address/zabbix

Une fois à l'intérieur, dans la barre de navigation supérieure, cliquez sur Configuration , puis Hosts

Ensuite, cliquez sur le bleu Create host dans le coin supérieur droit de l'écran et la page de configuration de l'hôte s'ouvrira :

Entrez le nom d'hôte et l'adresse IP de la machine hôte distante que vous souhaitez surveiller. Ajoutez l'hôte à un ou plusieurs groupes en sélectionnant le groupe dans la liste, ou entrez un nom de groupe inexistant pour en créer un nouveau. Les Linux Servers groupe est un bon choix.

Une fois terminé, cliquez sur Templates languette. Sélectionnez le Template OS Linux et cliquez sur Add lien pour ajouter le modèle à l'hôte.

Ensuite, cliquez sur le Encryption languette. Sélectionnez PSK pour les deux Connections to host et Connections from host .

Définir l'PSK identity valeur en PSK 001 , la valeur de TLSPSKIdentity option de l'agent Zabbix que vous avez configuré à l'étape précédente.

Dans la PSK value file ajoutez la clé que vous avez générée pour l'agent Zabbix, celle stockée dans le /etc/zabbix/zabbix_agentd.psk fichier.

Enfin, pour ajouter l'hôte, cliquez sur le bouton bleu Ajouter button .


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Samba sur Ubuntu 18.04

  4. Comment installer et configurer Redis sur Ubuntu 20.04

  5. Comment installer et configurer Zabbix sur CentOS 7

Comment installer et configurer Redis dans Ubuntu 20.04

Comment installer et configurer Neo4j sur Ubuntu 20.04

Comment installer et configurer MySQL dans Ubuntu 20.04 LTS

Comment installer et configurer le SDK Ubuntu dans Ubuntu 16.04 et 14.04

Comment installer et configurer MySQL sur Ubuntu 18.04

Comment installer Zabbix sur Ubuntu 15.10