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

zabbix_logo





Introduction





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



L'article a été réalisé avec la version 2.0.9 de Zabbix, mais j'ai testé avec la version 2.2 avec succès.





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://www.linuxtricks.fr/wiki/installer-lamp-sur-calculate-linux

Vérifier que le système est à jour.



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




Code BASH :
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




Code BASH :
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/$version




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



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




On supprime le fichier de configuration de zabbix modèle, on le générera par la suite :



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






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=






Configuration de l'agent zabbix





On vérifie l'adresse du serveur zabbix dans le fichier de config de l'agent : /etc/zabbix/zabbix_agentd.conf



Code BASH :
Server=127.0.0.1






Démarrage des services





On démarre les agents et serveurs :



Code BASH :
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agentd start




Puis, on ajoute les services au démarrage du serveur :



Code BASH :
rc-update add zabbix-agentd default
rc-update add zabbix-server default






Création de fichier de configuration de zabbix web





On se rend sur la page web du serveur : http://ip_du_serveur/zabbix/ et on arrive sur cette page :



zabbix_web1





On clique sur Next>>



zabbix_web2





On observe quelques messages d'erreur, on corrige donc dans les fichiers les valeurs mentionnées par la page :



Voici les commandes Oneliner

Code BASH :
sed -e 's/post_max_size = 8M/post_max_size = 16M/g' -i /etc/php/apache2-php5.5/php.ini
sed -e 's/max_execution_time = 30/max_execution_time = 300/g' -i /etc/php/apache2-php5.5/php.ini
sed -e 's/max_input_time = 60/max_input_time = 300/g' -i /etc/php/apache2-php5.5/php.ini
sed -e 's/;date.timezone =/date.timezone = "Europe\/Paris"/g' -i /etc/php/apache2-php5.5/php.ini




On recharge la config d'apache puis on clique sur Refresh



Code BASH :
/etc/init.d/apache2 reload




zabbix_web3





Si tout est bon, on clique sur Next>>>



On rempli les infos qui vont bien, on teste la connexion puis Next>>>



zabbix_web4





On mets les infos correspondant au serveur (par défaut, c'est bon) puis on clique sur Next>>>



zabbix_web5





Sur l'écran qui vient on a un récap de la configuration à appliquer, on valide en cliquant sur Next>>>



zabbix_web6





On a un aperçu que le fichier s'est bien écrit :



zabbix_web7







La connexion tataaaaa !!!!!!





On arrive sur cette mire :



zabbix_web8





Nom d'utilisateur : admin

Mot de passe : zabbix




Et on est connecté ! Youpiii !! :magic:



zabbix_web9







Installer l'agent





Pour installer l'agent sur d'autres Calculate Linux ou Gentoo, rien de plus simple, on place le USE "agent" dans le packahes.use



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




Et on installe Zabbix :



Code BASH :
emerge -avq net-analyzer/zabbix




:magic: