Installation de ZABBIX sous Debian et CentOS

De Wiki de Romain RUDIGER
Aller à : navigation, rechercher

Participant : Romain RÜDIGER.

Période : 03/09.

Installation

Dans les deux parties suivantes, vous retrouverez les commandes pour configurer et compiler ZABBIX 1.6.2 (10 mars 2009) sous une Debian lenny kernel 2.6.26 et sous CentOS 5.2 kernel 2.6.18.

Cette version n'est pas la dernière ! Pour mettre à jour cette version, voir : Mise à jour de ZABBIX sous CentOS.

Debian

Installation de Apache, PHP et MySQL :

apt-get install apache2 php5 mysql-server mysql-client php5-mysql
/etc/init.d/apache2 restart
echo "<? phpinfo(); ?>" > /var/www/phpinfo.php

Dans Firefox, testez que apache et PHP fonctionnent : http://10.1.1.107/phpinfo.php

Configuration de MySQL, ici le mot de passe root de MySQL est athena18 :

echo "select user, host, password from mysql.user;" | mysql -uroot -pathena18
echo "create database zabbix;" | mysql -uroot -pathena18
wget http://ovh.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.2.tar.gz
gunzip zabbix-1.6.2.tar.gz && tar -xvf zabbix-1.6.2.tar
cd zabbix-1.6.2/create/schema
cat mysql.sql | mysql -uroot -pathena18 zabbix
cd ../data
cat data.sql | mysql -uroot -pathena18 zabbix
cat images_mysql.sql | mysql -uroot -pathena18 zabbix

Il faut créer un utilisateur zabbix :

adduser --no-create-home zabbix

Pour compiler le serveur et l'agent ZABBIX :

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

Voici quelques erreurs lors de la compilation avec leurs solutions :

//Not foudn MySQL library
apt-get install libmysqlclient15-dev zlib1g-dev

//Not found Curl library
apt-get install ca-certificates comerr-dev libcurl3 libcurl4-openssl-dev libglib2.0-0 libglib2.0-data libidn11-dev libkadm55 libkrb5-dev libldap2-dev libssh2-1 libssh2-1-dev libssl-dev pkg-config

//configure: error: Invalid NET-SNMP directory - unable to find net-snmp-config
apt-get install libperl5.10 libsensors-dev libsensors3 libsnmp-base libsnmp-dev libsnmp-perl libsnmp15 libsysfs2 libwrap0-dev snmpd

Pour lancer l'installation :

make install

Les fichiers binaires sont dans :

/usr/local/sbin

Il faut copier et modifier les fichiers de configuration :

cp misc/conf/zabbix_agentd.conf /etc/zabbix/
cp misc/conf/zabbix_server.conf /etc/zabbix/
//dans zabbix_server.conf :
//> SourceIP=10.1.1.107
//> DBPassword=athena18
//> LogFile=/var/log/zabbix/zabbix_server.log
//> LogFileSize=1
vim /etc/zabbix/zabbix_server.conf
//dans zabbix_agentd.conf mettre :
//> Server=10.1.1.107,127.0.0.1
//> Hostname=sup.domain
//> LogFile=/var/log/zabbix/zabbix_agentd.log
//> LogFileSize=1
vim /etc/zabbix/zabbix_agentd.conf
 
mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix

Il faut modifier la configuration de PHP :

//set max_execution_time to 300
//set date.timezone to Europe/Paris in: 
vim /etc/php5/apache2/php.ini

Il faut installer la bibliothèque GD pour la génération des images (graphiques) :

get the gd stuff
apt-get install defoma fontconfig-config libfontconfig1 libfreetype6 libgd2-xpm libjpeg62 libpng12-0 libt1-5 libxpm4 php5-gd ttf-dejavu ttf-dejavu-core ttf-dejavu-extra

On peut maintenant relancer apache et copier le front-end dans le dossier web :

/etc/init.d/apache2 restart
cp -r frontends/php/ /var/www/zabbix/

Dans Firefox, ouvrir l'url : http://10.1.1.107/zabbix/

CentOS

Installation de Apache, PHP et MySQL :

yum install httpd
yum install php
yum install mysql-server mysql
yum install php-mysql.i386 php-bcmath.i386 php-gd

Il faut modifier la configuration de PHP :

// set max_execution_time to 300
// set date.timezone to Europe/Paris in: 
vim /etc/php.ini

Lancement de mysqld et httpd, puis création d'une page de test phpinfo.php :

service mysqld start
service httpd start
echo "<? phpinfo(); ?>" > /var/www/html/phpinfo.php
Dans Firefox, testez que apache et PHP fonctionnent : http://192.168.136.99/phpinfo.php

Il faut créer un utilisateur zabbix :

adduser zabbix

Téléchargement et décompression des sources :

wget http://ovh.dl.sourceforge.net/sourceforge/zabbix/zabbix-1.6.2.tar.gz
gunzip zabbix-1.6.2.tar.gz && tar -xvf zabbix-1.6.2.tar

Configuration de MySQL, ici le mot de passe root de MySQL est PLATON :

cd zabbix-1.6.2/create/schema
echo "update mysql.user set password=PASSWORD('PLATON') where user='root';" | mysql -uroot
service mysqld restart
echo "create database zabbix;" | mysql -uroot -pathena18 -pPLATON
cat mysql.sql | mysql -uroot -pPLATON zabbix
cd ../data
cat data.sql | mysql -uroot -pPLATON zabbix
cat images_mysql.sql | mysql -uroot -pPLATON zabbix

Installation des paquets pour compiler ZABBIX :

yum -y groupinstall "Development Tools"

Pour compiler le serveur et l'agent ZABBIX :

./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl

Voici quelques erreurs lors de la compilation avec leurs solutions :

//!>configure: error: Not found mysqlclient library
yum install mysql-devel.i386
//!>configure: error: Not found Curl library
yum install curl-devel.i386
//!>configure: error: Invalid NET-SNMP directory - unable to find net-snmp-config
yum install net-snmp.i386 net-snmp-devel.i386

Pour lancer l'installation :

make install

Les fichiers binaires sont dans :

/usr/local/sbin

Il faut copier et modifier les fichiers de configuration :

mkdir /etc/zabbix/
cp misc/conf/zabbix_agentd.conf /etc/zabbix/
cp misc/conf/zabbix_server.conf /etc/zabbix/
//dans zabbix_server.conf :
//> SourceIP=192.168.136.99
//> DBPassword=PLATON
//> LogFile=/var/log/zabbix/zabbix_server.log
//> LogFileSize=1
vim /etc/zabbix/zabbix_server.conf
//dans zabbix_agentd.conf mettre :
//> Server=192.168.136.99,127.0.0.1
//> Hostname=sup.domain
//> LogFile=/var/log/zabbix/zabbix_agentd.log
//> LogFileSize=1
vim /etc/zabbix/zabbix_agentd.conf

mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix
chown -R apache:apache /var/www/html/zabbix

Copie du front-end dans le dossier web :

cp -r frontends/php/ /var/www/html/zabbix

Lancement du serveur et de l'agent :

/usr/local/sbin/zabbix_server
/usr/local/sbin/zabbix_agentd

Dans Firefox, ouvrir l'url http://192.168.136.99/zabbix/ et suivre les instructions d'installation.

Configuration de Zabbix

Configuration de Zabbix

Trucs et astuces

Cannot connect to ZABBIX server [127.0.0.1:10051] [Permission denied]

Lorsque je lançai un ping ou un traceroute depuis la map, l'erreur suivante apparaissait :

socket_connect() [<a href='function.socket-connect'>function.socket-connect</a>]: unable to connect [13]: Permission denied[/var/www/html/zabbix/include/scripts.inc.php:76]
Cannot connect to ZABBIX server [127.0.0.1:10051] [Permission denied]

Pour la corriger, il faut regarder du cotés de SELinux[1], pour voir s'il est actif :

/usr/sbin/sestatus -v

Si c'est le cas, il suffit d'autoriser httpd à créer un nouveau socket dans SELinux[1] :

setsebool httpd_can_network_connect=1

check ICMP Ping discovery and icmpping doesn't work

ICMP Ping se base sur l'outil fping. Vérifiez :

  • fping est installé
  • l'utilisateur zabbix peut exécuter fping
  • le chemin de fping est spécifié dans zabbix_server.conf (FpingLocation=/usr/sbin/fping)
  • si fping ne supporte pas l'option -S, commentez la ligne (#SourceIP=192.168.136.99)

Notes

  1. 1,0 et 1,1 Security-Enhanced Linux est un ensemble de règles de sécurité, pour plus d'information, voir l'article de Wikipédia : [1].