Zabbix
Serveur
Prérequis :
- apache 2.x
- un serveur de base de donnée mysql ou mariadb
Installation :
wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb dpkg -i zabbix-release_5.0-1+buster_all.deb apt update apt-get install --no-install-recommends zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf
Désactivez le fichier de configuration automatiquement ajouté à apache :
a2disconf zabbix /etc/init.d/apache2 reload
Créez la base de donnée et l'utilisateur mysql :
# mysql -uroot -p mysql> create database zabbix character set utf8 collate utf8_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> quit;
Importez le schéma de base de donnée :
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Configurez les champs suivants dans la configuration serveur de zabbix /etc/zabbix/zabbix_server.conf
:
DBHost=localhost DBPassword=password DBSocket=/var/run/mysqld/mysqld.sock
Configurez votre vhost en vous basant sur /etc/zabbix/apache.conf et pensez à y décommenter la ligne php_value date.timezone
et settez la a votre timezone
php_value date.timezone Europe/Paris
Relancez les services et activez le lancement automatique du serveur zabbix :
systemctl enable zabbix-server /etc/init.d/zabbix-server start /etc/init.d/apache2 restart
Rendez vous à l'url de votre zabbix pour configurer la parti web
Après configuration, les identifiants par défauts sont Admin/zabbix. Changez rapidement le mot-de-passe par défaut.
Sécurité finale
Après configuration initiale, cela évitera qu'un utilisateur malicieux puisse modifier la configuration du frontend, ou qu'un utilisateur autre que zabbix ne puisse lire le mot-de-passe de la base de donnée :
chgrp www-data /etc/zabbix/web/ chown -R root /etc/zabbix/web/ chmod -R o-rx /etc/zabbix/web/ chmod o-r /etc/zabbix/zabbix_server.conf
Agent
aptitude install zabbix-agent
/etc/zabbix/zabbix_agentd.conf :
PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 ListenIP=192.168.118.7 Server=192.168.118.4 ServerActive=192.168.118.4 Hostname=plop Include=/etc/zabbix/zabbix_agentd.d/
Point importants :
- ListenIP : l'ip a laquelle le client écoute (pensez à firewaller si c'est une ip publique)
- Server : l'ip du serveur zabbix (l'agent refuse les connexions d'une autre ip que celles ci)
- ServerActive : l'ip du serveur zabbix (l'agent se connectera a ce serveur)
- Hostname doit correspondre à l'hostname défini dans la configuration zabbix
Détection à distance de l'OS (non obligatoire)
Installez sudo
Créez le fichier /etc/sudoers.d/zabbix
contenant :
zabbix ALL = (root) NOPASSWD: /usr/bin/nmap
IPMI et debian/ubuntu)
Il faut rebuild openipmi avec le support openssl https://support.zabbix.com/browse/ZBX-6139