PDA

View Full Version : Une astuce pour les malchanceux de perfparse


DonKiShoot
02-28-2007, 07:44 PM
Pour les personnes utilisant perfparse, ayant des difficultées à récupérer les nombres à virgules, voici ma petite histoire et son heureux dénouement.

Voici ma commande de check :

/usr/local/nagios/libexec/check_http -H toto.fr
OK - HTTP/1.1 302 Found - 0.007 second response time |time=0.006556s;;;0.000000 size=433B;;;0

Or mes graph de temps de réponses était désesperement vide.

Normal car dans ma table perfdata_service_bin j'avais ceci :

SRV92FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60host_name%60+%3D+%27SRV92FNX%27) FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60service_description%60+%3D+%27FNX%2 7) time (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60metric%60+%3D+%27time%27) 2007-02-28 18:28:08 0 NULL NULL 0
SRV92FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60host_name%60+%3D+%27SRV92FNX%27) FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60service_description%60+%3D+%27FNX%2 7) size (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60metric%60+%3D+%27size%27) 2007-02-28 18:28:08 14146 NULL NULL 0

Je me suis dit il n'aime pas les nombres à virgule avec des '.' mon coco.
Alors on va lui mettre des ',' :-);)

Voici ma nouvelle commande process-service-perfdata :

/usr/bin/printf "%b" "$TIMET$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICEOUTPUT $\t$SERVICESTATE$\t$SERVICEPERFDATA$\n" | sed -e 's/\./,/g' | /usr/local/nagios/bin/perfparse-log2mysql

Et depuis je n'ai plus de problèmes :

SRV92FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60host_name%60+%3D+%27SRV92FNX%27) FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60service_description%60+%3D+%27FNX%2 7) time (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60metric%60+%3D+%27time%27) 2007-02-28 18:43:08 0.114069 NULL NULL 0
SRV92FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60host_name%60+%3D+%27SRV92FNX%27) FNX (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60service_description%60+%3D+%27FNX%2 7) size (http://srv78supervision/phpmysql/sql.php?db=nagios&table=perfdata_service_metric&token=96cf6dceea8fd0dca09bb25d9127296c&pos=0&session_max_rows=30&dontlimitchars=0&sql_query=SELECT+%2A+FROM+%60perfdata_service_metr ic%60+WHERE+%60metric%60+%3D+%27size%27) 2007-02-28 18:43:08 14146 NULL NULL 0

PS: J'ai aussi modifié perfdata_service_metric (http://srv78supervision/phpmysql/tbl_properties_structure.php?db=nagios&token=96cf6dceea8fd0dca09bb25d9127296c&table=perfdata_service_metric) car il m'avait mis comme metric un truc du genre '.125784s' que j'ai remplacé par 's'

C quand même bien pourri perfparse ;) ;)

opensource
03-02-2007, 09:29 AM
Exact très bien vu Donki, je ne m'étais pas apperçu de cela car c'est corrigé dans le TARBALL.
D'ailleurs nous allons cité l'auteur : Christophe Borivant.

Donc je vous mets à disposition ce patch : à appliquer.

perfparse nagios (http://install.2js.fr/opensource/perfparsenagios.php)


a toute

DonKiShoot
03-02-2007, 10:21 AM
Apparement c quelquechose d'officiel ce bug mais ce qui est étonnant c'est que j'ai la dernière version et toujours le bug ( perfparse-0.106.1 (http://sourceforge.net/project/showfiles.php?group_id=109355&package_id=118089&release_id=409032) )

J'ai trouvé ce wiki sur opsyx qui traité justement de ce bug (trés bien fait d'ailleur) :

http://install.2js.fr/opensource/perfparsenagios.php

Il sort d'ou ton tarball sans bug ?

opensource
03-02-2007, 07:34 PM
merci pour ton compliment sur la doc ...
en fait la version 0.106.2 est imminente mais flo veut faire beaucoup de choses, mais il faut l'utiliser tellement mieux ...

le TARBALL vient du CVS.

je me tate à le mettre sur le site vais me faire tuer ma BP.
je te l'envoi par email.

a toute