Installation serveur Zabbix
Voila depuis quelques temps j’ai installé un serveur zabbix pour remplacer mon système à base de nagios . Pour le moment je n’avais pas effectué la documentation / aide mémoire c’est maintenant chose faites .
Installation serveur zabbix
Installation sur une Debian Wheezy .
Cette fois on va pas faire comme d’habitude mais ce n’est pas plus compliqué . Il faut récupérer la dernière version de zabbix sur leur site .
On décompresse par exemple dans /data/src
tar -xvzf zabbix-2.0.x.tar.gz
On crée le compte zabbix
groupadd zabbix useradd -g zabbix zabbix
Nous attaquons du coup la partie base de donnée . Il faut bien importer les trois fichiers SQL sinon vous aurez de belles erreurs au démarrage de zabbix.
mysql -p create database zabbix; grant all privileges on zabbix.* to zabbix@ip_server_zabbix identified by 'passwd'; quit cd zabbix-2.0.x/database/mysql/ mysql -uzabbix -p zabbix < database/mysql/schema.sql mysql -uzabbix -p zabbix < database/mysql/images.sql mysql -uzabbix -p zabbix < database/mysql/data.sql
Installation depuis les sources
./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-jabber --enable-agent --prefix=/usr/local/zabbix make install
Les messages d’erreurs connus
Error: configure: error: MySQL library not found Fix: sudo apt-get install libmysqlclient-dev libmysqld-dev Error: checking for IKSEMEL... configure: error: Jabber library not found Fix: sudo apt-get install libiksemel-dev Error: configure: error: Curl library not found Fix: sudo apt-get install libcurl4-openssl-dev Error: configure: error: Not found NET-SNMP library Fix: sudo apt-get install libsnmp-dev Error: configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h Fix: sudo apt-get install libopenipmi-dev
Maintenant nous allons mettre en place les scripts d’init ( les scripts sont ceux de monitoring-fr). On édite le fichier « /etc/init.d/zabbix-server »
Vous pouvez biensur adapter les path en fonction de vos besoins.
#!/bin/sh -e # # Zabbix Server init.d script. # # Written by Ludovic Valentin. # Monitoring-fr.org. PATH="/bin:/sbin:/usr/bin:/usr/sbin" CONF_NAME=zabbix_server.conf CONF=/usr/local/zabbix/etc/$CONF_NAME DAEMON_NAME=zabbix_server DAEMON=/usr/local/zabbix/sbin/$DAEMON_NAME DAEMON_ARGS="-c $CONF" SCRIPT_NAME=zabbix-server SCRIPT=/etc/init.d/$SCRIPT_NAME DESC="$DAEMON_NAME init.d script" PID=/usr/local/zabbix/var/run/$DAEMON_NAME.pid test -e $DAEMON || exit 0 . /lib/lsb/init-functions zabbix_start () { log_daemon_msg "Starting $DAEMON_NAME" start-stop-daemon --start --pidfile $PID \\ --exec $DAEMON -- $DAEMON_ARGS log_end_msg $? } zabbix_stop () { log_daemon_msg "Stopping $DAEMON_NAME" start-stop-daemon --stop --pidfile $PID --name $DAEMON_NAME log_end_msg $? } case "$1" in start|stop) zabbix_${1} ;; restart) zabbix_stop sleep 2 zabbix_start ;; force-stop) log_daemon_msg "Stopping $DAEMON_NAME" if [ -e $PID ]; then killall -q $DAEMON_NAME if [ -e $PID ]; then rm -R $PID fi log_end_msg $? else echo "No $PID found; none $DAEMON_NAME killed." fi ;; status) log_daemon_msg "Checking $DAEMON_NAME status" if [ -e $PID ]; then echo "Status: $DAEMON_NAME is running." else echo "Status: $DAEMON_NAME is not running." fi ;; *) log_daemon_msg $DESC echo "Usage: $SCRIPT {start/stop/restart/force-stop/status}" exit 1 ;; esac exit 0
Je ne vous dirais pas de le rendre exécutable .
Il faut par la suite éditer le fichier zabbix_server;conf dans /usr/local/zabbix/etc/zabbix_server.conf
Il suffit d’indiquer les paramètres comme déterminé dans le script d’init
LogFile=/usr/local/zabbix/var/log/zabbix_server.log PidFile=/usr/local/zabbix/var/run/zabbix_server.pid
Puis les paramètres de BDD ( dans mon cas j’utilise une BDD externe)
DBHost=x.x.x.x DBName=zabbixdb DBUser=zabbixuser DBPassword=zabbixuser_password
Vérifier que tout est OK en exécutant
/etc/init.d/zabbix_server start
Installation de l’agent zabbix
Rien de plus simple
./configure --enable-agent --prefix=/usr/local/zabbix make install
On crée le script d’init comme pour la partie serveur.
/etc/init.d/zabbix_agentd
#!/bin/sh -e # # Zabbix Server init.d script. # # Written by Ludovic Valentin. # Monitoring-fr.org. PATH="/bin:/sbin:/usr/bin:/usr/sbin" CONF_NAME=zabbix_agentd.conf CONF=/usr/local/zabbix/etc/$CONF_NAME DAEMON_NAME=zabbix_agentd DAEMON=/usr/local/zabbix/sbin/$DAEMON_NAME DAEMON_ARGS="-c $CONF" SCRIPT_NAME=zabbix-agentd SCRIPT=/etc/init.d/$SCRIPT_NAME DESC="$DAEMON_NAME init.d script" PID=/usr/local/zabbix/var/run/$DAEMON_NAME.pid test -e $DAEMON || exit 0 . /lib/lsb/init-functions zabbix_start () { log_daemon_msg "Starting $DAEMON_NAME" start-stop-daemon --start --pidfile $PID \\ --exec $DAEMON -- $DAEMON_ARGS log_end_msg $? } zabbix_stop () { log_daemon_msg "Stopping $DAEMON_NAME" start-stop-daemon --stop --pidfile $PID --name $DAEMON_NAME log_end_msg $? } case "$1" in start|stop) zabbix_${1} ;; restart) zabbix_stop sleep 2 zabbix_start ;; force-stop) log_daemon_msg "Stopping $DAEMON_NAME" if [ -e $PID ]; then killall -q $DAEMON_NAME if [ -e $PID ]; then rm -R $PID fi log_end_msg $? else echo "No $PID found; none $DAEMON_NAME killed." fi ;; status) log_daemon_msg "Checking $DAEMON_NAME status" if [ -e $PID ]; then echo "Status: $DAEMON_NAME is running." else echo "Status: $DAEMON_NAME is not running." fi ;; *) log_daemon_msg $DESC echo "Usage: $SCRIPT {start/stop/restart/force-stop/status}" exit 1 ;; esac exit 0
Editons le fichier de configuration client /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/usr/local/zabbix/var/log/zabbix_agentd.log PidFile=/usr/local/zabbix/var/run/zabbix_agentd.pid Server=IP_du_server Hostname=Nom du serveur (client)
Pour tester il faut juste lancer le daemon .
Installation de la partie WEB
Il nous faudra d’abord installer les paquets suivants :
apt-get install apache2 php5 php5-gd php5-mysql
Évidemment php5-mysql dans le cas d’une bdd mysql .
On récupère les sources pour le frontend
mkdir /usr/local/zabbix/frontend cp -R your/path/src/zabbix-/frontends/php/* /usr/local/zabbix/frontend
Configuration de votre serveur apache
Alias /zabbix /usr/local/zabbix/frontend/ <Directory /usr/local/zabbix/frontend> AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS PROPFIND> Order allow,deny Allow from all </Limit> <LimitExcept GET POST OPTIONS PROPFIND> Order deny,allow Deny from all </LimitExcept> </Directory>
L’interface zabbix est accessible par http://votre_IP/zabbix
Il faudra suivre les informations affichées à l’écran pour la suite rien de bien compliqué
Tableau avec les pré-requis .
Il vous reste plus qu’à prendre en main l’interface
SOURCES
https://www.zabbix.com/documentation/2.0/manual/installation/install
http://wiki.monitoring-fr.org/zabbix/zabbix-ubuntu-install
http://visitmetaj.blogspot.com/2013/06/install-zabbix-on-ubuntu-1004.html
Cet article Installation serveur Zabbix est apparu en premier sur Guest Blog.