Je me suis intéressé plus dernièrement aux plugins graphiques.
J'ai même déjà écrit le plugin check_graph_users.
Il y a juste un truc qui me dérange un peu c'est en ce qui concerne les checks en remote et les graphes.
Les plugins check_graph_xxxxx sont intéressants pour ce qui est des checks qui peuvent se faire sur les différents hosts (remote) mais uniquement au départ du serveur de monitoring. Mais qu'en est-il des checks qui se doivent d'être lancés sur les hosts (je veux parler de plugins tels que check_disk, check_load, check_log, check_procs, check_users etc) ?
L'approche la plus évidente serait d'écrire les check_graph_xxxx en utilisant snmp, mais il faut bien reconnaitre que souvent snmp est oublié pour des raisons de sécurité évidentes. De plus, il faut une sérieuse connaissance de SNMP et des MIBs.
Pour celà il faut savoir que Ethan Galdstad a prévu que le résultat des checks soient suivis d'un pipe (|) avec les datapoints collectés lors du check.
Je m'explique par un exemple :
Ce qui sera affiché par le CGI de Nagios sera "OK - load average: 0.23, 0.07,0.02", tout ce qui se trouve derrière le pipe (load1=0.230000;1.000000;2.000000;0.000000 load5=0.070000;1.000000;2.000000;0.000000 load15=0.020000;1.000000;2.000000;0.000000) sert pour les gens qui veulent traiter les infos récoltées.
Vu que Oreon utilise pour une bonne part des bases de données, il me semble intéressant de sauver tous ces datapoints dans une table et d'utiliser le contenu de cette table pour générer les graphes, plutôt que de collecter les datapoints dans les bases RRD qui, à moins d'un backup ne sont pas sauvés. Un avantage d'Oreon est qu'il peut sauver toute la base , donc datapoints inclus.
Celà résoudrait aussi le problème de la récolte des données pour ces checks qui doivent tourner en local sur le host monitoré.
Des réactions ?
J'ai même déjà écrit le plugin check_graph_users.
Il y a juste un truc qui me dérange un peu c'est en ce qui concerne les checks en remote et les graphes.
Les plugins check_graph_xxxxx sont intéressants pour ce qui est des checks qui peuvent se faire sur les différents hosts (remote) mais uniquement au départ du serveur de monitoring. Mais qu'en est-il des checks qui se doivent d'être lancés sur les hosts (je veux parler de plugins tels que check_disk, check_load, check_log, check_procs, check_users etc) ?
L'approche la plus évidente serait d'écrire les check_graph_xxxx en utilisant snmp, mais il faut bien reconnaitre que souvent snmp est oublié pour des raisons de sécurité évidentes. De plus, il faut une sérieuse connaissance de SNMP et des MIBs.
Pour celà il faut savoir que Ethan Galdstad a prévu que le résultat des checks soient suivis d'un pipe (|) avec les datapoints collectés lors du check.
Je m'explique par un exemple :
Code:
myhostname:/usr/local/nagios/libexec# ./check_load -w 1,1,1 -c 2,2,2 OK - load average: 0.23, 0.07,0.02|load1=0.230000;1.000000;2.000000;0.000000 load5=0.070000;1.000000;2.000000;0.000000 load15=0.020000;1.000000;2.000000;0.000000
Vu que Oreon utilise pour une bonne part des bases de données, il me semble intéressant de sauver tous ces datapoints dans une table et d'utiliser le contenu de cette table pour générer les graphes, plutôt que de collecter les datapoints dans les bases RRD qui, à moins d'un backup ne sont pas sauvés. Un avantage d'Oreon est qu'il peut sauver toute la base , donc datapoints inclus.
Celà résoudrait aussi le problème de la récolte des données pour ces checks qui doivent tourner en local sur le host monitoré.
Des réactions ?

Comment