install-zabbix
Introduction:
Dans ce tutoriel, vous allez configurer deux machines. L'une sera configurée comme serveur1 et l'autre comme serveur2 qui sera le client que vous surveillerez. Le serveur1 utilisera une base de données MySQL pour enregistrer les données de surveillance et utilisera Apache pour servir l'interface Web.
Prérequis
- serveur1 (zabbix)
- users root (privilèges)
- firewalls active
- OS (Ubuntu ou Debian)
- vagrantfile
- serveur2 (mysql, apache, database)
- Apache
- Mysql, PHP
- OS (Ubuntu ou Debian)
- vagrantfile
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 vagrant@192.168.50.1
Informations système OS
sudo cat /etc/*elea*
Zabbix n’est pas disponible par défaut dans le gestionnaire de paquets, donc installez un paquet de configuration de dépôt en utilisant le dépôt officiel Zabbix
[zabbix-debian] zabbix-debian
[zabbix-ubuntu] zabbix-ubuntu
[zabbix-debian-nginx] zabbix-nginx
Install package zabbix
- Debian arm64 Installer le référentiel Zabbix
sudo -s
wget https://repo.zabbix.com/zabbix/7.0/debian-arm64/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian12_all.deb
dpkg -i zabbix-release_latest_7.0+debian12_all.deb
apt update
- Ubuntu amd64 Installer le référentiel Zabbix
sudo -s
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
apt update
- Effacer toutes les entrées des référentiels actuellement activés du cache :
sudo apt clean all
- Installez ensuite le serveur Zabbix et l'interface Web avec prise en charge de la base de données MySQL :
sudo apt install zabbix-server-mysql zabbix-web-mysql
[infos]
Informations Au cours de la procédure d'installation, il vous sera demandé d'importer une clé GPG. Cette clé permet de vérifier 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 ENTRÉE 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 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.
Configuration de la base de données MySQL pour Zabbix
- Vous devez créer une nouvelle base de données MySQL et la remplir avec des informations de base afin de la rendre adaptée à Zabbix.
- Vous créerez également 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 en utilisant le 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 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 accès à la nouvelle base de données et définissez le mot de passe de l'utilisateur :
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
- Appliquez ensuite ces nouvelles autorisations :
flush privileges;
quit;
Cela prend en charge l'utilisateur et la base de données. Quittez la console de base de données :
- importez le schéma et les données initiaux. L'installation de Zabbix vous a fourni un fichier qui permet de configurer cela.
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.
sudo -s
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
- Saisissez le mot de passe de l’utilisateur MySQL zabbix que vous avez configuré lorsque vous y êtes invité.
- Cette commande ne génère aucune erreur si elle réussit.
- Si vous voyez l'erreur
ERROR 1045 (28000): Access denied for user zabbix@'localhost' (using password: YES)
- assurez-vous alors d'avoir utilisé le mot de passe de l'utilisateur zabbix et non de l'utilisateur root.
- Config /etc/zabbix/zabbix_server.conf Pour que le serveur Zabbix puisse utiliser 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
sudo nano /etc/zabbix/zabbix_server.conf
Recherchez la section suivante du fichier :
...
### 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 l'utilisateur de la base de données. décommentez DBPassword=, et ajoutez votre mot de passe pour configurer la base de données :
...
# Mandatory: no
# Default
DBPassword=your_zabbix_mysql_password (zabbix)
...
Cela prend en charge la configuration du serveur Zabbix. Ensuite, vous allez apporter quelques modifications à votre configuration PHP pour que l'interface Web Zabbix fonctionne correctement.
Configuration de PHP pour Zabbix
L'interface web de Zabbix est écrite en PHP et nécessite certains paramètres spéciaux du serveur PHP. Le processus d'installation de Zabbix a créé un fichier de configuration Apache qui contient ces paramètres. Vous devez apporter une petite modification à ce fichier, alors ouvrez-le avec ce qui suit :
sudo nano /etc/httpd/conf.d/zabbix.conf
Le fichier contient les paramètres PHP qui répondent aux exigences nécessaires pour l'interface Web Zabbix. Cependant, le paramètre de fuseau horaire est commenté par défaut. Pour vous assurer que Zabbix utilise l'heure correcte, vous devez définir le fuseau horaire approprié.
...
<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
# php_value date.timezone Europe/Riga
</IfModule>
Supprimez le commentaire de la ligne de fuseau horaire, mise en surbrillance dans le bloc de code précédent, et remplacez-la par votre fuseau horaire. Vous pouvez utiliser cette liste de fuseaux horaires pris en charge pour trouver celui qui vous convient. Enregistrez ensuite et fermez le fichier.
Redémarrez maintenant Apache pour appliquer ces nouveaux paramètres :
sudo systemctl restart httpd
Vous pouvez maintenant démarrer le serveur et l'agent Zabbix :
sudo systemctl start zabbix-server
sudo systemctl start zabbix-agent
Vérifiez ensuite si le serveur Zabbix fonctionne correctement :
sudo systemctl status zabbix-server
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.
Configuration des paramètres de l'interface Web Zabbix
L'interface Web vous permet de consulter les rapports et d'ajouter les hôtes que vous souhaitez surveiller, mais elle nécessite une configuration initiale avant de pouvoir l'utiliser. Lancez votre navigateur et accédez à l'adresse
http://zabbix_server_name/zabbix/. Sur le premier écran, vous verrez un message de bienvenue. Cliquez sur Étape suivante pour continuer.
Toutes les valeurs de ce tableau doivent être correctes, vérifiez donc qu'elles le sont. Assurez-vous de faire défiler la page vers le bas et de vérifier toutes les conditions préalables. Une fois que vous avez vérifié que tout est prêt, cliquez sur Étape suivante pour continuer.
Vous avez informé le serveur Zabbix de votre base de données, mais l'interface Web Zabbix a également besoin d'accéder à la base de données pour gérer les hôtes et lire les données. Par conséquent, saisissez les informations d'identification MySQL que vous avez configurées à l'étape 2 et cliquez sur Étape suivante pour continuer.
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.
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 pouvez sauvegarder et utiliser à l'avenir. Cliquez sur Terminer pour passer à l'écran de connexion. L'utilisateur par défaut est Admin et le mot de passe est zabbix.