View Full Version : Lenteurs/latence avec ndo2db
cbrassel
9th March 2010, 10:37
Bonjour,
Je suis relativement nouveau sur nagios/centreon et j'ai un peu de mal à faire un diagnostique correcte de mon problème.
Explications :
J'ai une installation centreon (2.1.5 maintenant) sur un serveur unique avec lequel je supervise 490 hosts et 2800 services.
Mon premier problème est un problème de temps de démarrage du nagios, quand je le lance il met 5 à 6 minutes pour être totalement opérationnel (début des checks).
Mon deuxième est un problème de latence, près de 120s. en moyenne.
J'ai bien essayé de traité le problème du point de vue nagios, mais celui-ci ne semble pas être la source du problème.
J'ai donc dans un premier temps désactivé le traitement des performances (process_performance_data=0), j'ai toujours le même temps de démarrage mais la latence est maintenant inférieur à la seconde !
Ensuite J'ai aussi arrêté le ndo2db, et la j'ai réglé mon deuxième problème, le temps de démarrage de nagios passe à moins d'une seconde !
Mais forcément retirer les graphs et le ndo règle peut-être mon problème, mais il m'enlève pas mal des avantages de la solution centreon.
J'ai déjà utilisé le Patch-NDOutils fournit par centreon, il m'as effectivement permis de réduire le temps de démarrage de nagios de plus de 10 minutes à 5 minutes .. mais cela me semble fortement insuffisant.
Je n'ai pas de problème de perf sur le serveur, la base ne travail pas, les io sur les disques inexistants et les cpu sous utilisé.
Quelqu'un aurait-il une idée ? une piste à suivre ?
Merci
AkHeNaToN
9th March 2010, 11:31
Avant d'utiliser Patch-NDOutils tu as utiliser NDO classique.
Ta base de données NDO doit dépasser les 100 Mo ?
Purge la (toutes tables sauf celle des ACL (la première tale).
Puis redémarre Nagios et la tu devrais avoir un bon score.
"Patch-NDOutils" permet de ne pas insérer de données inutile en base ndo et donc de garder une base lite (quelques dizaine de Mo).
Pour la latence, augmenter le "max concurent check" danss nagios.cfg (via l'interface Centreon)
cbrassel
9th March 2010, 14:11
Bonjour,
et merci pour votre réponse .
J'ai bien utilisé la version non patché avant .. j'ai donc suivit vos conseilles et nettoyé la base NDO.
Le démarrage de nagios est toujours aussi lent, par contre le temps de latence moyen est maintenant de 65s, c'est mieux qu'avant mais encore loin des 0,6 s sans la collecte de perf.
Une autre idée comment je pourrais encore améliorer le système ?
Merci
AkHeNaToN
9th March 2010, 14:27
Essai de mettre la variable "Use large installation tweaks" à Yes.
Diminue les "timeout" des service à 30s
cbrassel
9th March 2010, 14:53
Essai de mettre la variable "Use large installation tweaks" à Yes.
ça c'est déjà fait depuis longtemps :)
Diminue les "timeout" des service à 30s
Je viens de faire la modif .. j'attend qu'il remonte en charge ..
cbrassel
9th March 2010, 15:10
Finalement .. non, je suis toujours à 65 secondes de latence en moyenne ..
Total Services: 2568
Services Checked: 2564
Services Scheduled: 2553
Services Actively Checked: 2567
Services Passively Checked: 1
Total Service State Change: 0.000 / 20.920 / 0.085 %
Active Service Latency: 0.000 / 118.388 / 56.406 sec
Active Service Execution Time: 0.000 / 30.003 / 1.299 sec
Active Service State Change: 0.000 / 12.240 / 0.077 %
Active Services Last 1/5/15/60 min: 274 / 1802 / 2452 / 2478
Passive Service Latency: 17.162 / 17.162 / 17.162 sec
Passive Service State Change: 20.920 / 20.920 / 20.920 %
Passive Services Last 1/5/15/60 min: 0 / 0 / 0 / 0
Services Ok/Warn/Unk/Crit: 2543 / 1 / 7 / 17
Services Flapping: 0
Services In Downtime: 0
AkHeNaToN
9th March 2010, 15:40
Augmente encore le max concurrent check et attend un peu pour que Nagios se stabilise pour voir ces perf
cbrassel
9th March 2010, 16:58
Merci pour ta patience :)
Bien j'ai passé le max concurrent check à 600 (il était à 400) et ça à l'air de ce stabilisé autour de 50s.
1124
Peut-on encore faire mieux ? ou du moins aurais-tu une idée d'ou ce trouve le goulet d'étranglement ?
A ce propos .. juste une impression .. lorsque je surveille les process de la machine nagios et que les perfs sont activé j'ai l'impression que pendant quelques instant et à intervalle régulier nagios ce met en "pause", alors que lorsque je désactive les perf je vois une activité régulière des test.
Les graphs suivants exposent mieux ce que je veut dire (j'espère) :
1125
1126
Une idée ?
AkHeNaToN
9th March 2010, 17:19
Tu peux encore augmenter le max (par contre ton load augmentera en conséquence mais ce n'est pas trop grave).
Tu peux aussi désactiver "Agressive Host Checks".
As tu activé "Host Performance Data Processing Command" ?
Pour l'histoire de "Nagios se met en pause", je n'est pas d'idée.
cbrassel
9th March 2010, 17:28
Tu peux encore augmenter le max
ok, je l'ai mis à 800
Tu peux aussi désactiver "Agressive Host Checks".
ça c'est fait depuis un moment
As tu activé "Host Performance Data Processing Command" ?
Oui je collecte les perf.
Pour l'histoire de "Nagios se met en pause", je n'est pas d'idée.
dommage .. et pour le goulet d'étranglement ?
AkHeNaToN
9th March 2010, 17:39
Tu collecte les perfs des hôtes? Centreon ne s'en sert pas :(
Seul les perfs des services sont utiles
surcouf
9th March 2010, 21:37
Tu collecte les perfs des hôtes? Centreon ne s'en sert pas :(
Seul les perfs des services sont utiles
Pourquoi donc ?
Depuis Nagios 3, l'époque où les check-host-alive n'étaient pas exécutables régulièrement à l'image des services semble révolue grâce notamment à la parallélisation des tests en question. Il serait donc tout à fait envisageable de récupérer les données de performances d'un check_ping, non ?
AkHeNaToN
9th March 2010, 22:57
Parce que généralement je met un check_host_alive pour l'hôte et pour avoir un graph du ping je le met en service.
De plus en désactivant le contrôle des hôtes pour baser le statut sur celui des services, il n'y à pas trop d'intérêt, non ?
cbrassel
10th March 2010, 10:53
Tu collecte les perfs des hôtes? Centreon ne s'en sert pas :(
Seul les perfs des services sont utiles
Non effectivement je ne collecte que les perf des services.
surcouf
11th March 2010, 15:00
Parce que généralement je met un check_host_alive pour l'hôte et pour avoir un graph du ping je le met en service.
De plus en désactivant le contrôle des hôtes pour baser le statut sur celui des services, il n'y à pas trop d'intérêt, non ?
C'était le principe hérité de l'époque de Nagios 1.x, ça.
17. Host Checks:
Host checks are now run in parallel! Host checks used to be run in a serial fashion, which meant they were a major holdup in terms of performance. No longer! (Read more)
Host check retries are now performed like service check retries. That is to say, host definitions now have a new retry_interval that specifies how much time to wait before trying the host check again. :-)
Regularly scheduled host checks now longer hinder performance. In fact, they can help to increase performance with the new cached check logic (see below).
Added a new check_for_orphaned_hosts option to enable checks of orphaned host checks. This is need now that host checks are run in parallel.
Added a new enable_predictive_host_dependency_checks option to control whether or not Nagios will initiate predictive check of hosts that are being depended upon (in dependency definitions). Predictive checks help ensure that the dependency logic is as accurate as possible. (Read more)
A new cached host check feature has been implemented that can significantly improve performance for many people Instead of executing a plugin to check the status of a host, Nagios can often use a cached host check result instead. More information on this can be found here.
Passive host checks that have a DOWN or UNREACHABLE result can now be automatically translated to their proper state from the point of view of the Nagios instance that receives them. This is very useful in failover and distributed monitoring setups. More information on passive host check state translation can be found here.
Passive host checks normally put a host into a HARD state. This can now be changed by enabling the passive_host_checks_are_soft option.
http://nagios.sourceforge.net/docs/3_0/whatsnew.html
Pourquoi continuer à conserver les pings comme des services ?