Scripts supplémentaires pour l'agent Zabbix

Nous maintenons quelques scripts pour améliorer le monitoring par l'agent Zabbix. Depuis la version 2.0.0, Zabbix supporte des fonctions de découvertes bas niveau: le serveur demande à l'agent une liste d'éléments, et pour chaque élément remonté, le serveur crée automatiquement les items, graphes, déclencheurs à partir de prototypes. De base, l'agent supporte:

net.if.discovery: remonte la liste des interface réseau

vfs.fs.discovery: remonte la liste des systèmes de fichiers

Les scripts contenus dans le paquet zabbix-agent-addons ajoutent:

ces mêmes fonctions, basées sur des scripts perl pour permettre un fonctionnement avec des agent d'une version antérieur à la 2.0.0

la découverte des machines sauvegardées par BackupPC

la découverte des volumes LVM, des groupes de volumes et des snapshots

la découverte des périphériques blocs

la découverte des disques supportant S.M.A.R.T.

la découverte des senseurs de température (modulo une configuration des commandes à lancer pour récupérer la valeur)

la découverte des onduleurs gérés par nut UPS

quelques autres scripts utiles (pour surveiller les onduleurs, le RAID logiciel etc...)

Tous ces scripts sont disponibles dans un paquet rpm nommé zabbix-agent-addons (voir notre dépôt de RPMS)

Sources

Les scripts sont disponibles dans notre dépôt GIT

Installation manuelle

Pour les distribution qui n'utilisent pas RPM, il est possible d'installer tout ceci de façon manuelle:

mkdir -p /etc/zabbix/zabbix_agentd.conf.d/ cd /etc/zabbix/zabbix_agentd.conf.d/ for F in backuppc.conf block_devices.conf filesystems.conf lvm.conf nut_ups.conf\ raid_mdadm.conf raid_megaraid.conf sensors.conf smart.conf squid.conf net_interface.conf nut_ups.conf raid_hp.conf; do wget "http://gitweb.firewall-services.com/?p=zabbix-agent-addons;a=blob_plain;f=zabbix_conf/$F;hb=HEAD" -O $F done mkdir -p /var/lib/zabbix/bin cd /var/lib/zabbix/bin for F in check_backuppc_sudo check_lvm_sudo check_raid_mdadm check_raid_megaraid_sudo \ check_sensors_sudo check_smart_sudo disco_backuppc_sudo disco_block_devices \ disco_filesystems disco_lvm_sudo disco_sensors disco_smart_sudo disco_net_interface disco_nut_ups check_raid_hp_sudo disco_raid_hp_sudo; do wget "http://gitweb.firewall-services.com/?p=zabbix-agent-addons;a=blob_plain;f=zabbix_scripts/$F;hb=HEAD" -O $F done chmod +x /var/lib/zabbix/bin/*

Il ne reste plus qu'à:

Autoriser l'utilisateur zabbix à exécuter tous les scripts se temrinant par _sudo avec les droits root, sans mot de passe, par exemple:

Cmnd_Alias ZABBIX_AGENT = /var/lib/zabbix/bin/*_sudo
zabbix ALL=(root) NOPASSWD: ZABBIX_AGENT

Il faut inclure tout les fragments de configuration de Zabbix, en ajoutant la directive suivante dans le fichier de configuration principal de l'agent (en général /etc/zabbix/zabbix_agentd.conf)

Include=/etc/zabbix/zabbix_agentd.conf.d/

Ou, si votre agent ne supporte pas la directive Include, il faut tout concaténer dans le fichier principal

cat /etc/zabbix/zabbix_agentd.conf.d/* >> /etc/zabbix/zabbix_agentd.conf