Zabbix

De Linux Server Wiki
Sauter à la navigation Sauter à la recherche


Installation et configuration de Zabbix 5.x LTS sous Debian Buster


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

1.1 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

2 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

3 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

4 Macro

Zabbix resolves macros according to the following precedence:

  • host level macros (checked first)
  • macros defined for first level templates of the host (i.e., templates linked directly to the host), sorted by template ID
  • macros defined for second level templates of the host, sorted by template ID
  • macros defined for third level templates of the host, sorted by template ID, etc.
  • global macros (checked last)

La première macro évaluée est appliquée. Par exemple, si vous avez un macro host-level, celles du template/global seront ignorés.

Les macro globales sont dans Administration -> General -> Macros. Attention, ces macros globales ne sont pas exportables !

5 bug IPMI et debian/ubuntu

Il faut rebuild openipmi avec le support openssl https://support.zabbix.com/browse/ZBX-6139

6 Templates VMWare ESXi

https://github.com/pfoo/zabbix-esxi

7 Templates et scripts pour les outils de monitoring des serveurs HPs

https://github.com/pfoo/zabbix-HP

8 Templates et monitoring IPMI pour supermicro A1SAM-2750F

https://github.com/pfoo/zabbix-motherboards-templates