15 février 2010

Comment récupérer en une ligne le % d'espace disque utilisé sous Linux et l'intégrer dans zabbix

J'ai eu quelques soucis ce matin avec des filesystems protégés (Permission denied) sous Linux, ceux-ci ne remontent pas dans l'application zabbix.

Comment faire dans ce cas, en une ligne pour récupérer le pourcentage d'espace disque utilisé par un filesystem ?

La première étape (en étant root) est d'autoriser zabbix a effectué un df et ce dans cas l'inscrire dans le fichier /etc/sudoers de cette manière :

User_Alias MONITORING = zabbix
Cmnd_Alias SYSTEM = /bin/df
MONITORING ALL=NOPASSWD: SYSTEM

Pour pouvoir exécuter le sudo à distance, vous devez vérifier que la ligne suivante est bien commentée :

#Defaults    requiretty

Vous testez ensuite pour voir si ça fonctionne :

[zabbix@myHost ~]$ sudo df /Path/myFs | tail -n 1
                       3096336     70216   2868836   3% /Path/myFs

Puis en une ligne, il nous faut récupérer le résultat de la 4e colonne sans le % !

[zabbix@myHost ~]$ VAR=`sudo /bin/df /Path/myFs | tail -n 1 | /bin/awk '{ print $4 }' `;echo ${VAR%*\%}

Je stocke ça dans un script ksh :

#!/usr/bin/ksh

FS=${1}

VAR=`sudo /bin/df $FS | tail -n 1 | /bin/awk '{ print $4 }' `;echo ${VAR%*\%}

Puis, nous ajoutons la clé dans le fichier de configuration de zabbix : zabbix_agentd.conf, nous utiliserons des variables pour nous éviter de créer autant de clés que de filesystems protégés.

UserParameter=df[*],/home/myScript/userDf.ksh $1

Nous redémarrons l'agent (zabbix_agentd stop and start).

Nous configurons ce nouveau test dans l'interface web en deux étapes :

- création d'un nouvel item

item_creation

- création d'un nouveau trigger

trigger_creation

 

Voilà, voilà :)

Posté par fatihaelh à 12:55 - zabbix - Commentaires [0] - Permalien [#]

Commentaires

Poster un commentaire