5 votes

Icinga - Latence de vérification très élevée dans un environnement distribué

J'ai une configuration Icinga distribuée mise en place comme suit:

CENTRAL

Reçoit uniquement les résultats de vérification passifs

DISTRIBUTED A

227 hôtes

835 services

DISTRIBUTED B

67 hôtes

243 services

Le serveur CENTRAL se situe en dessous de 1 seconde de latence de vérification en moyenne à tout moment. Le DISTRIBUTED B se situe actuellement à environ ~10 secondes de latence de vérification en moyenne mais même cela augmente alors que nous ajoutons plus de vérifications.

DISTRIBUTED A a des problèmes sérieux de latence de vérification (jusqu'à 700 secondes parfois, moins juste après un rechargement mais ça remonte après) que je n'arrive pas à identifier. Voici une sortie actuelle d'icingastats:

Statistiques Icinga 1.10.3
Droits d'auteur (c) 2009 Équipe de développement principale et contributeurs de la communauté Nagios
Droits d'auteur (c) 1999-2009 Ethan Galstad
Dernière modification : 02-11-2014
Licence : GPL

DONNÉES D'ÉTAT ACTUELLES
------------------------------------------------------
Fichier d'état :                            /var/lib/icinga/status.dat
Âge du fichier d'état :                     0j 0h 0m 3s
Version du fichier d'état :                 1.10.3

Temps d'exécution du programme :             1j 17h 30m 44s
PID Icinga :                                1160
Tampons de commande utilisés/max/totaux :   0 / 11 / 4096

Services totaux :                           839
Services vérifiés :                         839
Services planifiés :                        839
Services vérifiés activement :              839
Services vérifiés passivement :             0
Changement d'état total des services :      0,000 / 6,250 / 0,007 %
Latence des services actifs :               644,742 / 776,293 / 729,813 sec
Temps d'exécution des services actifs :     0,010 / 20,163 / 0,720 sec
Changement d'état des services actifs :     0,000 / 6,250 / 0,007 %
Services actifs dernières 1/5/15/60 min :    18 / 274 / 717 / 839
Latence des services passifs :              0,000 / 0,000 / 0,000 sec
Changement d'état des services passifs :     0,000 / 0,000 / 0,000 %
Services passifs dernières 1/5/15/60 min :  0 / 0 / 0 / 0
Services OK/Attention/Inconnu/Critique :     835 / 2 / 1 / 1
Services instables :                        0
Services en mode de maintenance :           0

Hôtes totaux :                              227
Hôtes vérifiés :                            227
Hôtes planifiés :                           227
Hôtes vérifiés activement :                227
Hôtes vérifiés passivement :                0
Changement d'état total des hôtes :         0,000 / 0,000 / 0,000 %
Latence des hôtes actifs :                  0,000 / 772,310 / 726,904 sec
Temps d'exécution des hôtes actifs :        0,006 / 0,338 / 0,030 sec
Changement d'état des hôtes actifs :        0,000 / 0,000 / 0,000 %
Hôtes actifs dernières 1/5/15/60 min :      14 / 22 / 196 / 227
Latence des hôtes passifs :                 0,000 / 0,000 / 0,000 sec
Changement d'état des hôtes passifs :        0,000 / 0,000 / 0,000 %
Hôtes actifs dernières 1/5/15/60 min :      0 / 0 / 0 / 0
Hôtes UP/DOWN/Injoignables :                227 / 0 / 0
Hôtes instables :                          0
Hôtes en mode de maintenance :             0

Vérifications actives des hôtes dernières 1/5/15 min :     14 / 28 / 192
   Planifiées :                                           14 / 26 / 188
   À la demande :                                         0 / 2 / 4
   En parallèle :                                         14 / 27 / 190
   En série :                                             0 / 0 / 0
   Mises en cache :                                       0 / 1 / 2
Vérifications passives des hôtes dernières 1/5/15 min :    0 / 0 / 0
Vérifications actives des services dernières 1/5/15 min :  31 / 276 / 702
   Planifiées :                                           31 / 276 / 702
   À la demande :                                         0 / 0 / 0
   Mises en cache :                                       0 / 0 / 0
Vérifications passives des services dernières 1/5/15 min : 0 / 0 / 0

Commandes externes dernières 1/5/15 min :   0 / 0 / 0

Ce ne semble pas être un problème de tampon de vérification externe car il est toujours à 0. J'ai joué avec les paramètres du nettoyeur et j'ai essayé diverses combinaisons de temps maximal de nettoyage (5,10,30) et de fréquence de nettoyage (1,5,10) mais rien ne semble réduire le temps.

En vérifiant status.dat, ce n'est pas comme si certaines vérifications augmentaient la moyenne. Toutes les vérifications de service et de l'hôte affichent une latence proche de la moyenne (700+ secondes). Les temps d'exécution des vérifications sont bas dans l'ensemble. Une grande majorité est >1 seconde. Ensuite, il y a 143 vérifications qui prennent plus d'1 seconde mais moins de 2 secondes. Il y a 50 vérifications qui prennent 4+ secondes. 4 vérifications dépassent ce point, prenant respectivement 8, 10, 17 et 20 secondes. Ces chiffres ne semblent pas indiquer un problème réel de temps de vérification pour moi.

Le serveur lui-même n'éprouve pas de difficultés au niveau des ressources, tant le CPU que la mémoire sont corrects. Il est également bon de noter que les serveurs CENTRAL et DISTRIBUTED A sont sur la même infrastructure physique, bien que sur des VM différentes.

2voto

Heis Spiter Points 598

Je ne suis pas sûr que cela résoudra pleinement votre problème, mais voici quelques endroits où chercher.

Il semble que vous utilisiez Icinga v1, ce qui signifie que vous avez un noyau Icinga entièrement séquentiel. Cela signifie qu'il exécute les vérifications les unes après les autres. Si vos vérifications prennent un peu trop de temps, cela créera une latence. De plus, si vous avez des actions à effectuer après une vérification, cela retardera également la vérification de service suivante (comme l'envoi NSCA ou autre) à un point où cela peut effectivement totalement diminuer vos performances. Donc, c'est quelque chose que vous ne mesurerez pas directement car il ne s'agit pas d'une charge machine, mais d'une charge Icinga.

Une des solutions pour alléger la charge de votre instance Icinga est d'utiliser des outils supplémentaires. Pour distribuer les vérifications, vous pouvez utiliser le mod gearman par exemple. Cela est souvent utilisé pour faire évoluer la configuration de nagios/icinga. Si vous utilisez NSCA, nous avons développé un outil pour rendre l'envoi asynchrone afin de soulager Icinga de ce fardeau.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X