Utiliser Gentoo et Calculate Linux

Gentoo - Calculate : Installer et configurer la supervision Zabbix

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



Introduction



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


Installer Zabbix




Prérequis



Dans un premier temps, il est nécessaire d'installer apache, php et mysql.
Se référer à l'article http://linuxtricks.asso-linux-online.fr/wiki/installer-lamp-sur-calculate-linux

Pour PHP, ajouter au passage les FLAG : sysvipc bcmath xmlreader xmlwriter sockets

Code BASH :
 echo "dev-lang/php apache2 mysql cgi pam ssl xml sysvipc bcmath xmlreader xmlwriter sockets" >> /etc/portage/package.use/custom



Zabbix serveur et interface PHP



Le paquet zabbix par défaut ne comprends que le FLAG ipv6 :

Code BASH :
 emerge -pv zabbix
 
Calculating dependencies... done!
[ebuild  N     ] net-analyzer/zabbix-2.0.9_rc1-r2  USE="ipv6 -agent -curl -frontend -iodbc -jabber -java -ldap -mysql -odbc -openipmi -oracle -postgres -proxy -server -snmp -sqlite -ssh -static" 13,329 kB
 


Donc, on va ajouter quelques FLAG intéressants :

  • agent : pour monitorer le serveur lui même
  • frontend : pour avoir l'interface web en PHP
  • mysql : la base de données pour stocker les informations.
  • server : pour avoir les composants du serveur zabbix
  • snmp : pour avoir les modules SNMP qui vont bien


Code BASH :
echo "net-analyzer/zabbix agent frontend mysql server snmp" >> /etc/portage/package.use/custom


On inspecte l'installation :

Code BASH :
emerge -pv zabbix
 
Calculating dependencies... done!
[ebuild  N     ] app-admin/webapp-config-1.50.16-r4  102 kB
[ebuild  N     ] net-analyzer/net-snmp-5.7.2_rc1  USE="bzip2 ipv6 ssl tcpd zlib -X -doc -elf -lm_sensors -mfd-rewrites -minimal -perl -python -rpm (-selinux) -ucd-compat" 6,134 kB
[ebuild  N     ] media-libs/gd-2.0.35-r3:2  USE="png truetype zlib -fontconfig -jpeg -static-libs -xpm" 1,185 kB
[ebuild  N     ] net-analyzer/fping-2.4_beta2_p161-r1  USE="ipv6" 71 kB
[ebuild   R    ] dev-lang/php-5.5.4:5.5  USE="apache2 bcmath berkdb bzip2 cgi cli crypt ctype fileinfo filter ftp gd gdbm hash iconv ipv6 json mysql nls opcache phar posix readline session simplexml sockets ssl sysvipc tokenizer truetype unicode xml xmlreader xmlwriter zlib -calendar -cdb -cjk -curl -debug -embed -enchant -exif -firebird -flatfile -fpm (-frontbase) -gmp -imap -inifile -intl -iodbc -kerberos -ldap -ldap-sasl -libedit -libmysqlclient -mhash -mssql -mysqli -oci8-instant-client -odbc -pcntl -pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -spell -sqlite (-sybase-ct) -threads -tidy -wddx -xmlrpc -xpm -xslt -zip" 0 kB
[ebuild  N     ] net-analyzer/zabbix-2.0.9_rc1-r2  USE="agent frontend ipv6 mysql server snmp -curl -iodbc -jabber -java -ldap -odbc -openipmi -oracle -postgres -proxy -sqlite -ssh -static" 13,329 kB
 
The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by net-analyzer/zabbix-2.0.9_rc1-r2[frontend]
# required by zabbix (argument)
>=media-libs/gd-2.0.35-r3 png
 


On ajoute les derniers correctifs :

Code BASH :
echo "media-libs/gd png" >> /etc/portage/package.use/custom


Enfin, on envoie la sauce :

Code BASH :
emerge -qv zabbix



Configuration des services Zabbix




Base de données



On se connecte à mysql en root, et on créé la base zabbix :

Code BASH :
mysql -u root

Code SQL :
CREATE DATABASE zabbix;
exit;


Ensuite, on importe les structures et données de la base mysql :

Code BASH :
cd /usr/share/zabbix/database/mysql
mysql -u root zabbix < schema.sql
mysql -u root zabbix < images.sql 
mysql -u root zabbix < data.sql



Interface php



On se rend dans le dossier qui contient les fichiers du site web zabbix (adapter le numéro de version en fonction de celle installée) :

Code BASH :
cd /usr/share/webapps/zabbix/2.0.9_rc1-r2


On copie les fichiers dans le dossier de travail d'apache :

Code BASH :
cp -r htdocs /var/www/localhost/htdocs/zabbix


On renomme le fichier de configuration de zabbix et on contrôle les noms d'utilisateurs et mot de passe MySQL :

Code BASH :
cd /var/www/localhost/htdocs/zabbix/conf/
mv zabbix.conf.php.example zabbix.conf.php


Code PHP :
<?php
// Zabbix GUI configuration file
global $DB;
 
$DB["TYPE"]                             = 'MYSQL';
$DB["SERVER"]                   = 'localhost';
$DB["PORT"]                             = '0';
$DB["DATABASE"]                 = 'zabbix';
$DB["USER"]                             = 'root';
$DB["PASSWORD"]                 = '';
// SCHEMA is relevant only for IBM_DB2 database
$DB["SCHEMA"]                   = '';
 
$ZBX_SERVER                             = 'localhost';
$ZBX_SERVER_PORT                = '10051';
$ZBX_SERVER_NAME                = '';
 
$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;
?>
 
 


On n'oublie pas d'affecter les droits à apache du dossier zabbix :

Code BASH :
chown -R apache /var/www/localhost/htdocs/zabbix



Configuration du serveur zabbix



On vérifie les identifiants MySQL dans le fichier de config du serveur : /etc/zabbix/zabbix_server.conf

Code BASH :
DBName=zabbix
DBUser=root
DBPassword=





Démarrage des services