Un plugin Collectd/Exec pour la 8!

Posted by

Pour la postérité de mes graphs collectd, je souhaitais avoir un graph CPU de mon serveur. Collectd prend en charge la liblmsensors2 correctement, mais très mal la version 3 packagée dans Debian. Par conséquent je me suis mis en tête de faire un petit script via le plugin Exec qui parsera la sortie de la commande sensors (le tout paramétré comme il faut avant).

En avant pour le script :

#!/bin/bash
INTERVAL=60
HOST="galadriel.morot.fr"
while true
do
        TEMP=`sensors |grep -i temp1 | awk ' { print $2; } ' | cut -c 2,3`
        echo "PUTVAL $HOST/exec-temperature/gauge-temperature interval=$INTERVAL N:$TEMP"
        sleep $INTERVAL
done

Le plus important dans tout ça, c’est le PUTVAL mais heureusement, la doc est notre amie. Donc en gros voila le format :

PUTVAL <nom du serveur>/<instance>/<type de données attendu> avec interval, le délai entre deux mises à jour.

Et donc il suffit de rajouter temperature value:GAUGE:-273.15:U au fichier /usr/lib/collectd/types.db

Y’a plus qu’à indiquer tout ça au fichier collectd.conf :

LoadPlugin exec
<Plugin exec>
        Exec "bin:bin" "/etc/collectd/cpu.sh"
</Plugin>

Si t’es un as du M-w / C-y ça donne ça :

Et voilà le travail! Vous pouvez maintenant retrouver la douce chaleur de la télévision.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *