Table des matières

Zabbix

Installation

Sur une debian wheezy (7)

Le plus simple est de lire la doc à propos de l’installation via les packages ⇒ https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
# dpkg -i zabbix-release_2.2-1+wheezy_all.deb
# apt-get update
# apt-get install zabbix-server-mysql zabbix-frontend-php

Si votre serveur a été fraîchement installé, plein de paquet vont être installé pour satisfaire les dépendances tel que apache, mysql, php…

Comme le précise la doc, éditez le fichier /etc/apache2/conf.d/zabbix et remplacez la ligne

# php_value date.timezone Europe/Riga

par

php_value date.timezone Europe/Paris

On recharge tout ça

service apache2 reload

et on peut maintenant accéder au setup de zabbix via l’adresse http://monserveur/zabbix

Faites next, next … renseignez les champs si nécessaire .. test connexion … next … next … next … finish

Ensuite, pour s’identifier, Admin : zabbix

Pensez bien sur à changer ce mot de passe par défaut dans le menu Profile

Mettez aussi l’interface en français si vous le souhaitez (bien que toutes les doc sur le net sont anglais, ça peut devenir vite compliqué)

Si comme moi votre serveur tout neuf n’est pas en français, configurez déjà l’heure locale

dpkg-reconfigure tzdata

puis la langue locale

dpkg-reconfigure locales

choisissez fr_FR.UTF-8

fermez puis rouvrez votre session et redémarrez apache mysql, vous pouvez maintenant retourner dans votre profil et choisir la langue française ;)

Configurez les mails dans Administration / Types de média, cliquez sur email et renseignez votre serveur smtp (ici localhost) et les autres champs.

Et ajouter un media email à votre profil.

Agent Zabbix

Si vous voulez monitorez votre serveur zabbix, vous pouvez installer l’agent, mais il y a déjà le minimum vital. Je conseille d’ailleurs de supprimer le modèle (template) “Linux OS” de l’hôte (host) Zabbix Server, ce qui permettra d’enlever le modèle Zabbix Agent qui générera une erreur puisqu’il n’est pas installé.

Bref, pour installer l’agent

# apt-get install zabbix-agent

Sur d’autre machine, il faudra refaire refaire le wget, apt-get update..

# wget http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+wheezy_all.deb
# dpkg -i zabbix-release_2.2-1+wheezy_all.deb
# apt-get update
# apt-get install zabbix-agent

Si vous souhaitez installer l’agent sur une debian 6, utilisez une version plus vieille comme la 2.0

# wget http://repo.zabbix.com/zabbix/2.0/debian/pool/main/z/zabbix-release/zabbix-release_2.0-1squeeze_all.deb
# dpkg -i zabbix-release_2.0-1squeeze_all.deb
# apt-get update
# apt-get install zabbix-agent

Dans le pire des cas, vous devrez compiler vous même l’agent zabbix.

Une fois l’agent installé sur une machine à monitorer, éditez le fichier de conf

# vi /etc/zabbix/zabbix_agentd.conf 

2 méthodes pour monitorer votre serveur, soit c’est le serveur zabbix qui va se connecter aux machines à surveiller (mode passif) soit ce sont les machines à surveiller qui vont se connecter au serveur zabbix (mode actif).

Dans mon cas, ce sera le mode actif, ça évite d’ouvrir un port sur les machines à surveiller.

Renseigner les lignes suivantes

ServerActive=monServeurZabbix
Hostname=aSurveiller.serveur.com
StartAgents=0 (pour désactiver l'agent passif)

Redémarrer l’agent

/etc/init.d/zabbix-agent restart

Vérifiez dans les log si tout se passe bien

vi /var/log/zabbix/zabbix_agentd.log

Vous devriez avoir ceci

 22305:20140328:225925.217 Starting Zabbix Agent [aSurveiller.serveur.com]. Zabbix 2.2.2 (revision 42525).
 22305:20140328:225925.217 using configuration file: /etc/zabbix/zabbix_agentd.conf
 22308:20140328:225925.223 agent #1 started [listener #1]
 22309:20140328:225925.224 agent #2 started [listener #2]
 22310:20140328:225925.224 agent #3 started [listener #3]
 22307:20140328:225925.225 agent #0 started [collector]
 22311:20140328:225925.226 agent #4 started [active checks #1]
 22311:20140328:225925.239 no active checks on server [monServeurZabbix:10051]: host [aSurveiller.serveur.com] not found

On peut constater que la connexion au serveur Zabbix a bien fonctionné et que celui ci nous indique que notre host n’existe pas, il faut alors le créer via l’interface web zabbix dans configuration / hôtes (hosts)

Par contre le mode actif n’est pas configuré par défaut… Tous les éléments de tous les modèles sont configuré avec un type agent passif.

Pour corriger ce problème, on va se rendre dans le menu configuration / modèle, on va cliquer sur Elements de la ligne Template OS Linux.

Ici on sélectionne tous les éléments qui comme vous pouvez le voir dans la colonne Type sont tous des agent Zabbix (passif).
Choisissez ensuite dans la liste déroulantes tout en bas de la liste Modification collective puis Exécuter

Modifiez le type en choisissant agent Zabbix (actif), cliquez sur Actualiser et voilà :)

Rendre l’agent actif au reboot

Sur CentOS

chkconfig --add zabbix-agent
chkconfig --level 35 zabbix-agent on

pour vérifier

chkconfig --list

Sur Debian

update-rc.d zabbix-agent defaults

MySQL

http://blog.les-titans.com/index.php/2013/04/monitoring-de-mysql-sur-zabbix/

I/O Disk Stats

http://www.denniskanbier.nl/blog/monitoring/monitoring-disk-io-using-zabbix/

http://romain.novalan.fr/wiki/Monitor_a_device_performance_on_Linux_with_Zabbix

Windows

http://nitishkumar.net/2010/01/03/zabbix-the-simple-yet-ultimate-monitoring-solution-for-corporate/

Installation sur synology

Trouvez le type de CPU de votre synology ⇒ http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have

Pour installer ipkg ⇒ http://korben.info/installer-ipkg-sur-synology.html

Sur certain NAS, on peut le trouver dans /opt/bin ou /opt/sbin

Un tuto pour compiler zabbix http://weblog.aklmedia.nl/2011/05/install-zabbix-agent-on-synology/

A rajouter au tuto : Créer un utilisateur zabbix en éditant le /etc/passwd et /etc/group (je n’ai pas trouvé la commande adduser ou useradd)

echo 'zabbix:x:1200:200::/opt/zabbix:/bin/false' >> /etc/passwd
echo 'zabbix:x:200' >> /etc/group

Lancez l’agent zabbix via la commande

/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf

On peut vérifier le bon fonctionnement avec ps

> ps | grep zabbix
19600 zabbix    3040 S    ./zabbix_agentd -c /opt/zabbix/etc/zabbix_agentd.conf
19601 zabbix    3040 S    ./zabbix_agentd: collector [idle 1 sec]
19602 zabbix    3092 S    ./zabbix_agentd: active checks #1 [idle 1 sec]

et le fichier de log

> cat /tmp/zabbix_agentd.log 
 19600:20140708:160131.502 Starting Zabbix Agent [nas3]. Zabbix 2.2.4 (revision 46772).
 19600:20140708:160131.503 using configuration file: /opt/zabbix/conf/zabbix_agentd.conf
 19601:20140708:160131.507 agent #0 started [collector]
 19602:20140708:160131.513 agent #1 started [active checks #1]
 19602:20140708:160131.572 active check "system.distrib" is not supported
 19602:20140708:160131.573 active check "system.hw.cpu" is not supported

Pour que zabbix-agent se lance au démarrage, j’ai rajouté le fichier suivant

vi /usr/syno/etc/rc.d/S99zabbix.sh
#!/bin/sh
if [ "$1" = "start" -o "$1" = "" ]; then
	/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf
fi
chmod +x /usr/syno/etc/rc.d/S99zabbix.sh

et voila !

Suivant les NAS, ce tuto ne marchera pas. Dans ce cas téléchargez les binaires déjà compilés et fournis par zabbix ⇒ http://www.zabbix.com/download.php

Regardez le type de processeur avec la commande

uname -a
Linux Nas 3.2.40 #4482 SMP Fri Apr 18 16:52:49 CST 2014 x86_64 GNU/Linux synology_bromolow_rs3412rpxs

On range tout ça sans /opt/zabbix

mkdir /opt/zabbix
cd /opt/zabbix
wget http://www.zabbix.com/downloads/2.2.5/zabbix_agents_2.2.5.linux2_6_23.amd64.tar.gz
tar zxvf zabbix_agents_2.2.5.linux2_6_23.amd64.tar.gz

Créer un utilisateur zabbix

echo "zabbix:x:1200:200::/opt/zabbix:/bin/false" >> /etc/passwd

Modifier le fichier de config et lancé la commande

/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf

Vérifier le bon fonctionnement

> ps w | grep zabbix  
30271 zabbix   18384 S    /opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf
30272 zabbix   18384 S    /opt/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
30273 zabbix   18384 S    /opt/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

Ainsi que les logs

cat /tmp/zabbix_agentd.log
30271:20140901:112142.725 Starting Zabbix Agent [com-nas3]. Zabbix 2.2.5 (revision 47411).
30271:20140901:112142.725 using configuration file: /opt/zabbix/conf/zabbix_agentd.conf
30272:20140901:112142.726 agent #0 started [collector]
30273:20140901:112142.726 agent #1 started [active checks #1]
30273:20140901:112142.730 no active checks on server [172.16.30.84:10051]: host [com-nas3] not found

Ici on voit l’hote “com-nas3” n’a pas été déclaré sur le serveur zabbix

Pour que zabbix se lance au démarrage, j’ai créé le fichier suivant

vi /etc/init/zabbix.conf
description "Zabbix agent"
author "Zabbix"
start on runlevel 1
stop on runlevel [06]
respawn
respawn limit 5 10
console log
expect fork
pre-start script
        date
end script
exec "/opt/zabbix/sbin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf"
# vim:ft=upstart