PDA

View Full Version : grapher check_win_cpuload


ericp
08-03-2007, 01:17 PM
Bonjour,
en suivant le wiki sur les graphs (http://wiki.oreon-project.org/index.php/Graphs) :
je n'ai pas réussi à grapher l'utilisation CPU de mes serveurs Windows.
Si j'ai bien compris, ODS va parser le string renvoyé par "print", en recherchant la chaine commençant par "|etiquette=valeur (...)"
Je l'ai donc appliqué au script check_win_cpuload, en voici l'extrait de code ajouté :
print "|cpu_load=".$use."%".";".$warning.";".$critical;

En relançant nagios + restart ODS, oreon ne me graphe pas ma mesure !
ai-je loupé quelque chose ? Merci !

pe@ceto
08-06-2007, 05:18 PM
SI tu as bien suivi le wiki cela devrait fonctionner

Vérifie que tes fichiers .rrd se généraient bien :
ls /usr/local/oreon/OreonDataStorage/

Vérifie que ods est bien lancé
ps aux | grep ods

SInon il faut dans la configuration du service win_cpu... metre l'option
Traitement des données de performance à Oui
tu redemarre nagios via oreon et normalement c'est bon.

ericp
08-06-2007, 06:56 PM
En fait, le plugin ne comporte pas d'option de traitement des données de perf'. C'est un plugin tout bete, voici le contenu du code (avec mon ajout) :

#!/usr/bin/perl
# Author : jakubowski Benjamin
# Date : 19/12/2005
# check_win_snmp_cpuload.pl IP COMMUNITY PORT warning critical

sub print_usage {
print "check_win_snmp_cpuload.pl IP COMMUNITY warning critical\n";
}

$PROGNAME = "check_win_snmp_cpuload.pl";

if ( @ARGV[0] eq "" || @ARGV[1] eq "" || @ARGV[2] eq "" ) {
print_usage();
exit 0;
}

$STATE_CRITICAL = 2;
$STATE_WARNING = 1;
$STATE_UNKNONW = 3;

$STATE_OK = 0;

$IP=@ARGV[0];
$COMMUNITY=@ARGV[1];
$warning=@ARGV[2];
$critical=@ARGV[3];
$resultat =`snmpwalk -v 1 -c $COMMUNITY $IP 1.3.6.1.2.1.25.3.3.1.2`;
if ( $resultat ) {
@pourcentage = split (/\n/,$resultat);
$i=0;
foreach ( @pourcentage ) {
s/HOST-RESOURCES-MIB::hrProcessorLoad.\d+ = INTEGER://g;
$use_total+=$_;
$i++;
}
$use = $use_total / $i ;

if ( $use < $warning ) {
print "OK : CPU load $use%\n";

##### AJOUT ICI ######
print "|cpu_load=".$use."%".";".$warning.";".$critical;
###################

exit $STATE_OK;
} elsif ( $use < critical ) {
print "WARNING : CPU load $use%\n";
exit $STATE_WARNING;
} else {
print "CRITICAL : CPU load :$use%\n";
exit $STATE_CRITICAL;
}
} else {
print "Unkonwn : No response\n";
exit $STATE_UNKNONW;
}



ODS est bien lancé, mon Nagios graphe bien les autres plugins (avec parfois pas mal de trous enfin, c'est un autre pb ça) comme check_centreon_snmp_remote_storage, check_centre_snmp_traffic etc. mais pas pour le plugin en question. Pourtant j'ai suivi l'explication du WIKI.

xspoon
08-06-2007, 07:54 PM
bonjour,
les 2 prints devraient sortir l'un après l'autre sur la même ligne pour fonctionner

ericp
08-06-2007, 09:41 PM
t un chef ! merci :)
Je l'ai fait en une seule instruction, et sur la même ligne et ça fonctionne :
print "OK : CPU load $use%|cpu_load=".$use."%".";".$warning.";".$critical;

Merci à tous