PDA

View Full Version : Passive host checks - Freshness


phoenix90
8th June 2007, 09:00
Bonjour,

D'abord desole pour l'ecriture, je n'ai pas d'accent sur ce clavier.

J'utilise les checks passifs a la fois pour les services et pour les hotes (car mes hotes sont accessibles uniquement par VPN).
Pour les services, ca marche tres bien. J'ai regle un controle de fraicheur sur les services toutes les 15 minutes, et Nagios execute une commande qui affiche que les resultats sont perimes s'il n'a pas de nouvelles du service apres 15 minutes.

Pour les hotes, ce controle de fraicheur ne marche pas. Voila comment est defini mon template d'hotes:

define host{
name XXX
alias XXX
check_command check_host_alive
max_check_attempts 1
check_interval 1
active_checks_enabled 0
passive_checks_enabled 1
check_period 24x7
check_freshness 1
freshness_threshold 90
contact_groups Admin, Support
notification_interval 0
notification_period 24x7
notification_options d,u,r
notifications_enabled 0
register 0
}

Nagios est sense lancer le check actif 'check_host_alive' s'il n'a pas de nouvelles des checks passifs apres 90 secondes. Mais ca ne marche pas, mon status de host reste UP avec les dernieres valeurs envoyees par le check passif qui peuvent dater d'une heure ou plus...

Si quelqu'un voit le probleme, merci de me le signaler ;-)

Voila pour info comment est defini mon template service, qui lui marche :

define service{
name passive_service
service_description passive_service
is_volatile 0
check_command no_report
max_check_attempts 1
normal_check_interval 1
retry_check_interval 1
active_checks_enabled 0
passive_checks_enabled 1
check_period 24x7
check_freshness 1
freshness_threshold 1800
flap_detection_enabled 0
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
notification_interval 0
notification_period 24x7
notification_options w,u,c,r
notifications_enabled 0
contact_groups Admin
register 0
}

VincentMD
8th June 2007, 10:19
Bonjour,
tout d'abord la variable freshness_threshold de ton hôte (qui est à 90) me semble un peu faible, j'ai cru comprendre à force d'observer les arrivés de check passifs sur un serveur de secours que les test sur les hôtes ne sont fait que quand les services de cet hôte retournent un état critique (donc pas de test, pas de remonté de donnée vers ton serveur centrale) ton hôte sera probablement testé une fois par jour max (merci l'ordonnancement de Nagios) à part si tu force le test à intervale régulier.
En toute logique (ma logique hein! ça vaut ce que ça vaut ;-) ) tu devrais avoir au moins freshness_threshold a 1800 pour ton hôte.

voilà ce que j'en pense, mais je peux me tromper.

phoenix90
11th June 2007, 08:30
Merci de ta reponse.

J'ai mis le freshness threshold a la meme valeur que celui des services (il est a 900 secondes maintenant).

Au bout de 15 minutes sans reponse de la part d'un host, j'ai les services sur ce host qui passent en mode 'actif' et lancent la command 'no_report' conformement a ce qui est defini dans mon fichier de configuration.

Par contre, pour le host, toujours aucune reaction. J'ai fait en sorte que le 'no_report' des services renvoit un etat critique en esperant que cela incite Nagios a tester l'host de facon active. Mais non, il reste en passif et ne tient pas compte de mon freshness threshold...

:(

J'ai alors essaye de cocher l'option 'Obsess over host' (je ne sais pas exactement ce que c'est), mais aucune difference.

Je n'ai plus d'autres pistes...

phoenix90
12th June 2007, 06:06
Voila, ca marche. Evidemment, c'etait quelque chose de stupide.

:D

Dans le fichier de configuration principal de Nagios (dans lequel je n'avais jamais mis l'oeil), les checks passifs etaient desactives pour les hosts, ainsi que le test de fraicheur, et cela 'outrepassait' ma configuration du template.

Donc j'ai fait les modifications dans Oreon (Configuration -> Nagios -> Nagios CFG -> Edit) et j'ai mis a 'OUI' les lignes suivantes:

- Host Check Execution Option
- Passive Host Check Acceptance Option
- Host Freshness Checking Option

Voila. :arrow: