« Zabbix » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
 
(38 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
[[Category:debian]]
[[Category:debian]]
[[Category:monitoring]]
[[Category:monitoring]]
Installation et configuration de Zabbix 5.x LTS sous Debian Buster<br>
=Serveur=


Prérequis :
Prérequis :
Ligne 7 : Ligne 12 :
* un serveur de base de donnée mysql ou mariadb
* un serveur de base de donnée mysql ou mariadb


<pre>wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix-release/zabbix-release_2.4-1+jessie_all.deb
Installation :
dpkg -i zabbix-release_2.4-1+jessie_all.deb
<pre>wget https://repo.zabbix.com/zabbix/5.0/debian/pool/main/z/zabbix-release/zabbix-release_5.0-1+buster_all.deb
aptitude update
dpkg -i zabbix-release_5.0-1+buster_all.deb
aptitude --without-recommends install ttf-dejavu-core zabbix-server-mysql zabbix-frontend-php
apt update
apt-get install --no-install-recommends zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf
</pre>
</pre>
Vous aurez droit a 3 prompts de mot-de-passe. Le premier vous demande le mot-de-passe root de mysl (afin de créer la base de donnée de zabbix), les deux suivants vous demandent de choisir un mot-de-passe pour la base de donnée de zabbix


Désactivez le fichier de configuration automatiquement ajouté à apache :
<pre>
<pre>
a2disconf zabbix
a2disconf zabbix
Ligne 19 : Ligne 25 :
</pre>
</pre>


Editez /etc/zabbix/apache.conf, décommentez la ligne <code>php_value date.timezone</code> et settez la a votre timezone
Créez la base de donnée et l'utilisateur mysql :
<pre>
# 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;
</pre>
 
Importez le schéma de base de donnée :
<pre>
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
</pre>
 
Configurez les champs suivants dans la configuration serveur de zabbix <code>/etc/zabbix/zabbix_server.conf</code> :
<pre>
DBHost=localhost
DBPassword=password
DBSocket=/var/run/mysqld/mysqld.sock
</pre>
 
Configurez votre vhost en vous basant sur /etc/zabbix/apache.conf et pensez à y décommenter la ligne <code>php_value date.timezone</code> et settez la a votre timezone
<pre>
<pre>
php_value date.timezone Europe/Paris
php_value date.timezone Europe/Paris
</pre>
</pre>


Relancez les services et activez le lancement automatique du serveur zabbix :
<pre>
systemctl enable zabbix-server
/etc/init.d/zabbix-server start
/etc/init.d/apache2 restart
</pre>
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 :
<pre>
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
</pre>
=Agent=


=agent=
<pre>
<pre>
ListenIP=127.0.0.1
aptitude install zabbix-agent
Hostname=doit match l'hostname conf dans le serveur zabbix
</pre>
</pre>
/etc/zabbix/zabbix_agentd.conf :
<pre>
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/
</pre>
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 <code>/etc/sudoers.d/zabbix</code> contenant :
<pre>
zabbix  ALL = (root)        NOPASSWD: /usr/bin/nmap
</pre>
=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 !
=bug IPMI et debian/ubuntu=
Il faut rebuild openipmi avec le support openssl
https://support.zabbix.com/browse/ZBX-6139
=Templates VMWare ESXi=
https://github.com/pfoo/zabbix-esxi
=Templates et scripts pour les outils de monitoring des serveurs HPs=
https://github.com/pfoo/zabbix-HP
=Templates et monitoring IPMI pour supermicro A1SAM-2750F=
https://github.com/pfoo/zabbix-motherboards-templates

Dernière version du 5 novembre 2020 à 10:48


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


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

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 !

bug IPMI et debian/ubuntu

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

Templates VMWare ESXi

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

Templates et scripts pour les outils de monitoring des serveurs HPs

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

Templates et monitoring IPMI pour supermicro A1SAM-2750F

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