Red Hat et dérivées version SERVEUR

Red Hat 8, Alma Linux 8 : Installer et configurer Zabbix

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

zabbix_logo







Introduction





ZABBIX est un logiciel permettant de surveiller l'état de divers services réseau, serveurs et autres matériels réseau.

Cet article a été fait avec la version 2.2 LTS de Zabbix





Installer Zabbix







Prérequis





Dans un premier temps, mettre en service les dépôts epel :



Code BASH :
yum install epel-release




Mettre à jour ensuite le système :



Code BASH :
yum update




Ajouter enfin dépôts officiels de Zabbix :



Code BASH :
yum install http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm






Installation des paquets





On va donc installer le serveur Zabbix, l'agent Zabbix et aussi l'interface Web. J'installe en même temps les composants essentiels à leur fonctionnement : Apache2, MariaDB et PHP :



Code BASH :
yum install zabbix-server-mysql zabbix-agent zabbix-web-mysql mysql mariadb-server httpd php






Configuration







La base de données





Dans un premier temps, on va activer au redémarrage le service de base de données :



Code BASH :
systemctl enable mariadb




Puis on le lance :



Code BASH :
systemctl start mariadb




On initialise le moteur de base de données :



Code BASH :
mysql_secure_installation




On se connecte ensuite sur la base de données :



Code BASH :
mysqu -u root -p




On créé la table et l'utilisateur zabbix :



Code SQL :
CREATE DATABASE zabbix;
GRANT ALL privileges ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'supermdp';
FLUSH privileges;
exit




Ensuite, on importe la structure de la base de données :



Code BASH :
mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-*/create/schema.sql
mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-*/create/images.sql
mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-*/create/data.sql




On modifie quelques valeurs dans le fichier de configuration de PHP :



Code BASH :
sed -i 's/^max_execution_time.*/max_execution_time=600/' /etc/php.ini
sed -i 's/^max_input_time.*/max_input_time=600/' /etc/php.ini
sed -i 's/^memory_limit.*/memory_limit=256M/' /etc/php.ini
sed -i 's/^post_max_size.*/post_max_size=32M/' /etc/php.ini
sed -i 's/^upload_max_filesize.*/upload_max_filesize=16M/' /etc/php.ini
sed -i "s/^\;date.timezone.*/date.timezone=\'Europe\/Paris\'/" /etc/php.ini






Zabbix Server





Le fichier de configuration de Zabbix Web est le suivant : /etc/httpd/conf.d/zabbix.conf. Par défaut, aucune modification n'est à apporter.



Le fichier de configuration du serveur Zabbix est le suivant : /etc/zabbix/zabbix_server.conf. On peut renseigner le mot de passe de la base de données si on l'a changé en modifiant la valeur de DBPassword :



Code BASH :
vi /etc/zabbix/zabbix_server.conf






Parefeu





Il faut aussi ouvrir les ports du pare-feu, notamment HTTP HTTPS et 10050 :



Avec firewalld, on regarde le nom de la zone correspondant à l'interface :

Code BASH :
firewall-cmd --get-active-zones




Moi j'ai ceci mais adaptez avec votre cas :

Code BASH :
public
   interfaces: eno16780032




On autorise les communications :

Code BASH :
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent




Ou si vous vous en fichez de la sécurité, désactiver le pare-feu :

Code BASH :
systemctl stop firewalld 
systemctl disable firewalld






SELinux





Si SELinux est actif, il faut penser à autoriser Zabbix et Apache à communiquer ensemble :

Code BASH :
setsebool -P httpd_can_connect_zabbix=1






Activer et démarrer les services





On active tous les services :



Code BASH :
systemctl enable zabbix-agent
systemctl enable zabbix-server
systemctl enable httpd




Puis on les démarre :



Code BASH :
systemctl start zabbix-agent
systemctl start zabbix-server
systemctl start httpd






Lancer l'initialisation de Zabix via l'interface Web









Installer les agents sur les clients







Prérequis





Comme pour le serveur on s'assure d'être à jour :



Code BASH :
yum update




On active les dépôts EPEL :



Code BASH :
yum install epel-release




On installe le dépôt de Zabbix :



Code BASH :
yum install http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm




Installation de l'agent Zabbix





On installe l'agent via :



Code BASH :
yum install zabbix22-agent




Configuration de l'agent





On configure l'agent en indiquant l'IP du serveur Zabbix (Dans mon exemple 10.21.27.239) et on désactive le "Server Active"



Code BASH :
sed -i 's/^Server=127.0.0.1/Server=10.21.27.239/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^ServerActive=127.0.0.1/ServerActive=/g' /etc/zabbix/zabbix_agentd.conf




Activation des services





On active au démarrage le service de l'Agent Zabbix puis on le démarre :



Code BASH :
systemctl enable zabbix-agent
systemctl start zabbix-agent