Linux - Zabbix - OpenFire - OpenSsh - Asterisk - Vmware - VirtualBox - Avaya
Vous n'êtes pas identifié.

PRESENTATION DE ZABBIX:
Zabbix est un outil relativement méconnu jusqu'ici, qui se propose de remplacer à la fois Nagios et MRTG. Il permet de suivre l'état complet d'un réseau (débits, etc.) et des systèmes le composant (utilisations processeur, disque, mémoire, processus, etc.) en proposant des graphiques personnalisables de chacune des caractéristiques surveillées et de déclencher des alertes sur des seuils personnalisables ou prédéfinis. Il est extrêmement configurable au travers d'une interface web.
Zabbix permet à la fois de suivre l'évolution d'un système d'un point de vue statistique avec des graphiques (générés par RRDtool) mais également de déclencher des alertes lorsqu'un seuil (réglable) est dépassé.
Par exemple, il permet d'envoyer un email lorsque la machine est inaccessible ou encore d'exécuter un script lorsque le serveur web ne répond plus.
Zabbix fonctionne soit en utilisant un système d'analyse "simple", comme Nagios, à base de scripts locaux, soit un agent spécifique devant être installé sur chaque machine à surveiller, permettant ainsi le suivi de nombreux éléments (processus, réseau, mémoire, processeurs, capteurs, etc.). Il est enfin capable d'utiliser un agent SNMP.
Tout se configure au travers d'une interface web un peu déroutante au début, mais relativement pratique une fois que l'on a pris l'habitude.
L'installation est pour le moment un peu compliquée car il faut compiler les agents démons, installer une base de données, etc. Elle reste néanmoins accessible à tout administrateur système.
Enfin, Zabbix permet de générer des schémas du réseau sur lesquels sont également affichés l'état de chaque serveur, permettant de contrôler d'un coup d'œil l'état complet du réseau.
INSTALLATION de ZABBIX-SERVER
Mise à jour de Ubuntu:
Pour valider ce tutoriel, j'ai installé Ubuntu de cette manière : http://zabbixagent.free.fr/viewtopic.php?id=203
$ sudo su -
(entrer son mot de passe)
# apt-get update(liste les packages qui seront mis à jour)
# apt-get upgrade -y (met à jour les packages)
Installation de packages supplémentaires avant de commencer l'installation de Zabbix :
# apt-get install -y build-essential vim checkinstall ssh man
Création utilisateurs zabbix :
# groupadd -g 9000 zabbix
# useradd -u 9000 -g zabbix -d /usr/local/zabbix -c "Zabbix User" zabbix
Télécharger et installer les dépendances nécessaires au fonctionnement de Zabbix Server :
# apt-get install -y libssl-dev libssh-dev libgnutls-dev libopenipmi-dev libiksemel-dev snmp libsnmp-dev libnet-snmp-perl libcurl4-gnutls-dev fping
# apt-get install -y mysql-server libmysqlclient15-dev
Pendant l'installation des packages, une fenêtre apparaîtra pour vous proposer de configurer un mot de passe pour l'application mysql.
Configuration de fping :
# chmod 755 /usr/bin/fping
Télécharger et décompresser zabbix 2.2.1 (dans le dossier /usr/src/):
# cd /usr/src/
# wget http://zabbixagent.free.fr/zabbix221/za … 2.1.tar.gz
# tar -xvf zabbix-2.2.1.tar.gz
Créer un utilisateur zabbix et le dossier sous /usr/local :
# mkdir /usr/local/zabbix
# mkdir /usr/local/zabbix/etc
# mkdir /usr/local/zabbix/var
# mkdir /usr/local/zabbix/var/run
# mkdir /usr/local/zabbix/var/log
# mkdir /usr/local/zabbix/frontend
Création de la database zabbix et utilisateur zabbix sous MYSQL :
# mysql -u root -p
(entrez son mot de passe défini plus haut)
mysql> CREATE DATABASE zabbix charset=utf8;
mysql> GRANT DROP,INDEX,CREATE,SELECT,INSERT,UPDATE,ALTER,DELETE ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix';
mysql > quit;
# cd /usr/src/zabbix-2.2.1
# mysql -u zabbix -pzabbix zabbix < /usr/src/zabbix-2.2.1/database/mysql/schema.sql
# mysql -u zabbix -pzabbix zabbix < /usr/src/zabbix-2.2.1/database/mysql/images.sql
# mysql -u zabbix -pzabbix zabbix < /usr/src/zabbix-2.2.1/database/mysql/data.sql
Installation de zabbix server:
# ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-jabber --prefix=/usr/local/zabbix
# make install
Copier des fichiers d'exemples de configurations du serveur dans /usr/local/zabbix/etc:
# cp conf/zabbix_server.conf /usr/local/zabbix/etc
Configurer zabbix_server.conf:
# cd /usr/local/zabbix/etc
# nano zabbix_server.conf
Et modifier ces champs:
LogFile=/usr/local/zabbix/var/log/zabbix_server.log
PidFile=/usr/local/zabbix/var/run/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/run/mysqld/mysqld.sock
Création des scripts pour service /etc/init.d/zabbix_server :
[root@zabbix]# nano /etc/init.d/zabbix-server
#!/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
Droit d'exécution et démarrages des services et fichiers de configuration :
# chmod +x /etc/init.d/zabbix-server
# chmod 640 /usr/local/zabbix/etc/zabbix_server.conf
# chown -R zabbix:zabbix /usr/local/zabbix*
# /etc/init.d/zabbix-server start
Préparation et configuration de l'interface Web Zabbix:
# apt-get install -y apache2 php5 php5-gd
# apt-get install -y php5-mysql
# cp -r /usr/src/zabbix-2.2.1/frontends/php /usr/local/zabbix/frontend
# nano /etc/apache2/sites-enabled/000-default
et ajouter ce contenu à la fin du fichier 000-default et juste avant la balise </VirtualHost> :
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>
Modification du fichier /etc/php.ini:
[root@zabbix]# nano /etc/php5/apache2/php.ini
Modifier le comme ce qui suit:
• change > max_execution_time = 30
• to > max_execution_time = 600
• change > max_input_time = 60
• to > max_input_time = 600
• change > memory_limit = 32M
• to > memory_limit = 256M
• change > post_max_size = 8M
• to > post_max_size = 32M
• change > upload_max_filesize = 2M
• to > upload_max_filesize = 16M
• change > date.timezone =
• to > date.timezone = Europe/Paris
Et redémarrer Apache :
# /etc/init.d/apache2 restart
Lancer une page web et tapez l'adresse de votre serveur zabbix comme ceci :
http://ipdevotreserveurzabbix/zabbix/php/setup.php et suivez les étapes de configuration suivantes:


Entrez les identifiants que vous avez crée lors de la requête mysql (zabbix / zabbix) dans notre exemple)



Déposer le fichier zabbix.conf.php ici après l'avoir télécharger: "/usr/local/zabbix/frontend/php/conf/zabbix.conf.php"
Cliquez sur "Finish" si "Ok", sinon revoir les dernières étapes.
La première connexion se fera avec les identifiants par défaut:
login name : Admin
Password : zabbix
Hors ligne