Aller au contenu


Problème Nagios 3.2.1 : check latency


  • Vous ne pouvez pas répondre à ce sujet
3 réponses à ce sujet

#1 Snk

  • SUPINFO ★★
  • 832 messages

Posté 29 mai 2011 à 00:47

Bonsoir à tous et à toutes,

Avant de partir en quête d'aide sur des forums spécialisés, je me suis dit que je trouverais peut-être des amateurs de Nagios par ici.

J'utilise Nagios avec Centreon pour la supervision de plusieurs dizaines de machines depuis pas mal de temps et malheureusement je bute sur un problème assez épineux.

Je dois poller environ 400 services / minute et je n'arrive pas à abaisser la latence des checks. J'obtiens une latence de 120 à 200s.

Niveau conf, j'ai la conf de base avec quelques aménagements :
- Maximum Concurrent Service Checks : illimité (histoire de pas me casser la tête)
- Use large installation tweaks : non
- Free child process memory : non
- Child processes fork twice : non
- Service Check Timeout : 30
- Host Check Timeout : 30

J'ai regardé un paquet de forums, de posts à ce sujet mais rien n'y fait. Je n'ai réussi à baisser la latence que de 300-400 à 200, ce qui est déjà un début malgré tout.

A noter que la machine de monitoring est relativement suffisante pour cette tâche (Xeon X3450, 4Go, seul nagios/centreon tournent dessus).
Le load average est le suivant : 3.29 3.80 3.36
Nombre de services à check par seconde : environ 7

Merci par avance pour vos éclaircissements :)
B1 -> B3 : Bordeaux | M1 : Londres | M2 2011-2012 : Bordeaux
STA Apple/Linux/Sécurité

#2 artiflo

  • SUPINFO ★★
  • 1 553 messages

Posté 29 mai 2011 à 08:52

Effectivement 120/200s c'est énorme. Tu fais quoi comme check ?, le problème peut aussi venir des scripts qui font les checks.

Est ce que les machines que tu checks sont surchargés ? Car les requêtes SNMP/NRPE/WMI c'est un peu l'ICMP des routeurs. La machine te répond quand si elle a le temps. Et ça peut faire de sacré timeout.
Tu as essayé d'enlever des machines de ton pool de test pour voir si il y avait un comportement différent ?
Tu as essayé d'enlever des type de check pour voir si il y avait un comportement différent ?
Est ce que ton parc de test est homogène ou hétérogène ?
Si tu change le check à toutes les 2/3min (puis 1 min pour un SOFT DOWN) au lieu de 1min ça change quelque chose ? Je t'avoue que j'ai toujours vu des problème dés qu'on descendais à la minutes. Perso je ne descend à la minutes que pour faire du ping, les services sont à 3 min (puis 1 minutes si SOFT DOWN).

IO disk / Memory / Swap / Disk lenght / Processor Lenght ?

Tu utilise ndo2db ? SI oui comment se comporte ton serveur de BDD ?
www.artiflo.net Who dare wins !
B3 Toulouse | M1 Montréal | M2 Toulouse | SUPINFO 2009 Alumni
CONSEQUENCE WILL NEVER BE THE SAME ! 4chan for ever

#3 Snk

  • SUPINFO ★★
  • 832 messages

Posté 29 mai 2011 à 14:08

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Effectivement 120/200s c'est énorme. Tu fais quoi comme check ?, le problème peut aussi venir des scripts qui font les checks.


Les checks sur les machines sont :
- ping
- check service FTP
- espace disque
- occupation ram
- bande passante eth0
- load average
- nombre process
- check_host_alive avec check_fping et non check_ping avec un timeout de 5

En testant les scripts un à un, ils sont relativement rapides.

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Est ce que les machines que tu checks sont surchargés ? Car les requêtes SNMP/NRPE/WMI c'est un peu l'ICMP des routeurs. La machine te répond quand si elle a le temps. Et ça peut faire de sacré timeout.


Normalement non, c'est justement un cas rare. Les load average dépassent rarement les 4-5.

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Tu as essayé d'enlever des machines de ton pool de test pour voir si il y avait un comportement différent ?


Le parc étant relativement homogène, je vois mal quelles machines retirer.

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Tu as essayé d'enlever des type de check pour voir si il y avait un comportement différent ?


A vrai dire, la chose curieuse est que je n'avais pas d'avertissement sur les latences sur ma précédente machine de monitoring qui était une petite SC chez Dedibox (avec processeur nano mono coeur et 2Go de ram). Celle-ci tenait bien les checks malgré une charge système relativement élevée (elle en chiait un peu parfois ^^).

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Est ce que ton parc de test est homogène ou hétérogène ?


100% Linux sur Debian dont 1/3 en 32 bits, le reste en 64. Niveau matos, c'est que de l'archi Intel.

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Si tu change le check à toutes les 2/3min (puis 1 min pour un SOFT DOWN) au lieu de 1min ça change quelque chose ? Je t'avoue que j'ai toujours vu des problème dés qu'on descendais à la minutes. Perso je ne descend à la minutes que pour faire du ping, les services sont à 3 min (puis 1 minutes si SOFT DOWN).


A vrai dire, le passage de 2 min à 1 min n'a rien changé aux latences. Ce qui est curieux, c'est que la charge système est très basse, on peut considérer que le serveur s'ennuie même ^^

Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

IO disk / Memory / Swap / Disk lenght / Processor Lenght ?


Les IO disque sont basses, la Ram est bien mise en cache, pas de swap. Voici un petit top fait à l'instant :
top - 15:05:19 up 14:19, 1 user, load average: 2.57, 3.22, 3.47
Tasks: 96 total, 1 running, 95 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.4%us, 0.0%sy, 0.0%ni, 74.3%id, 25.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 3979640k total, 3135568k used, 844072k free, 156340k buffers
Swap: 1044220k total, 0k used, 1044220k free, 2576224k cached


Voir le messageartiflo, le 29 mai 2011 à 08:52, dit :

Tu utilise ndo2db ? SI oui comment se comporte ton serveur de BDD ?


MySQL semble ok, moins de 100 queries/s, pas de slow queries :
Threads: 4 Questions: 1800 Slow queries: 0 Opens: 1474 Flush tables: 1 Open tables: 64 Queries per second avg: 90.0.

Merci en tout cas pour m'aider à solutionner ce problème pour le moins... curieux :(

EDIT : Là les latences ont un petit peu baissées depuis hier soir :
Min Max Average
Hosts 35.789 sec 230.412 sec 130.614 sec
Services 0.951 sec 230.885 sec 116.171 sec

Modifié par Snk, 29 mai 2011 à 14:11.

B1 -> B3 : Bordeaux | M1 : Londres | M2 2011-2012 : Bordeaux
STA Apple/Linux/Sécurité

#4 Snk

  • SUPINFO ★★
  • 832 messages

Posté 29 mai 2011 à 16:26

J'oubliais, pour répondre à ta question à propos du temps d'exécution des commandes :
Check Execution Time
Min Max Average
Hosts 0.013 sec 0.395 sec 0.189 sec
Services 0.006 sec 20.876 sec 1.800 sec

Donc à priori les checks passent pas mal si on en croit la moyenne.
B1 -> B3 : Bordeaux | M1 : Londres | M2 2011-2012 : Bordeaux
STA Apple/Linux/Sécurité