Gentoo - Calculate : Installer et configurer la supervision Zabbix
Table des matières
ZABBIX est un logiciel permettant de surveiller l'état de divers services réseau, serveurs et autres matériels réseau.
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
Le paquet zabbix par défaut ne comprends que le FLAG ipv6 :
Donc, on va ajouter quelques FLAG intéressants :
On inspecte l'installation :
On ajoute les derniers correctifs :
Enfin, on envoie la sauce :
On se connecte à mysql en root, et on créé la base zabbix :
Ensuite, on importe les structures et données de la base mysql :
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) :
On copie les fichiers dans le dossier de travail d'apache :
On renomme le fichier de configuration de zabbix et on contrôle les noms d'utilisateurs et mot de passe MySQL :
On n'oublie pas d'affecter les droits à apache du dossier zabbix :
On vérifie les identifiants MySQL dans le fichier de config du serveur : /etc/zabbix/zabbix_server.conf
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=