Beaucoup de choses reposent sur rrdtool en supervision.
rrdpoller est un module cpan permettant d’interroger des bases RRD et de fixer des seuils sur la réponse obtenue. C’est une voie interessante pour interroger depuis Nagios des base RRD.
wget http://search.cpan.org/~rsoliv/rrdpoller-1.5.0/ sudo apt-get install liberror-perl libsoap-lite-perl perl Makefile.PL make make install
Une fois installé, plein de bonnes choses deviennent possibles en interrogation de bases RRD
rrdpoller get /opt/collectd/var/lib/collectd/rrd/nagios3/apache/apache_scoreboard-open.rrd count
permet de récupérer la dernière valeur du DS count dans la base RRD apache_scoreboard-open.rrd
Se basant sur rrdpoller et Nagios::plugin, j’ai écrit le script check_rrd.pl dont je mettrais le code source à dispo bientôt. En attendant, voici la définition de commande et de service en résultant
define service{
use actif-generic
hostgroup_name LINUX
service_description HTTP_REQUESTS
check_command check_rrd!apache/apache_requests.rrd!count!10!20
#check_command check_rrd!-r /opt/collectd/var/lib/collectd/rrd/nagios3/apache/apache_requests.rrd -d count -w 10 -c 20
servicegroups +RRD,HTTP
}
La commande
# 'check_rrd' command definition
define command{
command_name check_rrd
command_line /usr/bin/perl $USER1$/check_rrd.pl -r $USER4$/$HOSTNAME$/$ARG1$ -d $ARG2$ -w $ARG3$ -c $ARG4$
# command_line /usr/bin/perl $USER1$/check_rrd.pl $ARG1
}
# check_rrd.pl -r /opt/collectd/var/lib/collectd/rrd/nagios3/apache/apache_requests.rrd -d count -w 10 -c 20
Dans le fichier resource.cfg
$USER4$=/opt/collectd/var/lib/collectd/rrd