Bonjour,
je cherche à optimiser ma configuration nagios, j'ai un serveur de test avec un nombre asse important d'équipement : 2000 hosts et 2500 services. j'utilise nagios 3.2.0
Je remarque que la charge CPU de mon serveur est plutôt irrégulière en moyenne : 3/4/4 avec des pointes à 10 - 13.
Je voudrais donc éviter que le load s'enflamme. J'utilise actuellement une VM avec deux CPU et 4Go de ram.
La mémoire n'a pas l'air de poser problème, le serveur ne swap pas. j'essaye d'optimiser ma configuration, voici les changement que j'ai effectué :
- use_large_installation_tweaks=1 - max_concurrent_checks=80 ou 395
Lorsque j'augmente le max_concurrent_checks le load du CPU augmente...
Au niveau de la latence des services j'ai : 599ms/398ms/1364ms
Si vous avez des conseils pour optimiser les performances de nagios je suis preneur.
Hugo
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ). J'ai pour ma part fait des tests en natif avec 10000 services et 3000 hôtes (avec une machine relativement puissante) et j'ai très peu de latence (pas plus de 10s). Il y a quelques options à désactiver et à régler pour optimiser les performances.
ex:* enable_environment_macros=0 (très consommateur en ressources)**
*-- Gwenole Le bris
Le 13 décembre 2010 12:31, Hugo Deprez hugo.deprez@gmail.com a écrit :
Bonjour,
je cherche à optimiser ma configuration nagios, j'ai un serveur de test avec un nombre asse important d'équipement : 2000 hosts et 2500 services. j'utilise nagios 3.2.0
Je remarque que la charge CPU de mon serveur est plutôt irrégulière en moyenne : 3/4/4 avec des pointes à 10 - 13.
Je voudrais donc éviter que le load s'enflamme. J'utilise actuellement une VM avec deux CPU et 4Go de ram.
La mémoire n'a pas l'air de poser problème, le serveur ne swap pas. j'essaye d'optimiser ma configuration, voici les changement que j'ai effectué :
- use_large_installation_tweaks=1
- max_concurrent_checks=80 ou 395
Lorsque j'augmente le max_concurrent_checks le load du CPU augmente...
Au niveau de la latence des services j'ai : 599ms/398ms/1364ms
Si vous avez des conseils pour optimiser les performances de nagios je suis preneur.
Hugo
Liste de diffusion du FRsAG http://www.frsag.org/
Bonjour ,
Tu peux également mettre en place NSCA sur certains checks le but est que ça soit la machine distante qui envoi les alertes au serveur nagios. Cela allège les traitements qu’effectue nagios .
Cordialement ,
Mickaël
On Mon, 13 Dec 2010 13:25:47 +0100, Gwenole Le bris gwenole@flebris.net wrote:
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ). J'ai pour ma part fait des tests en natif avec 10000 services et 3000 hôtes (avec une machine relativement puissante) et j'ai très peu de latence (pas plus de 10s). Il y a quelques options à désactiver et à régler pour optimiser les performances.
ex: ENABLE_ENVIRONMENT_MACROS=0 (TRÈS CONSOMMATEUR EN RESSOURCES)
-- Gwenole Le bris
Le 13 décembre 2010 12:31, Hugo Deprez a écrit : Bonjour,
je cherche à optimiser ma configuration nagios, j'ai un serveur de test avec un nombre asse important d'équipement : 2000 hosts et 2500 services. j'utilise nagios 3.2.0
Je remarque que la charge CPU de mon serveur est plutôt irrégulière en moyenne : 3/4/4 avec des pointes à 10 - 13.
Je voudrais donc éviter que le load s'enflamme. J'utilise actuellement une VM avec deux CPU et 4Go de ram.
La mémoire n'a pas l'air de poser problème, le serveur ne swap pas. j'essaye d'optimiser ma configuration, voici les changement que j'ai effectué :
- use_large_installation_tweaks=1
- max_concurrent_checks=80 ou 395
Lorsque j'augmente le max_concurrent_checks le load du CPU augmente...
Au niveau de la latence des services j'ai : 599ms/398ms/1364ms
Si vous avez des conseils pour optimiser les performances de nagios je suis preneur.
Hugo
Liste de diffusion du FRsAG http://www.frsag.org/ [2]
Links:
[1] mailto:hugo.deprez@gmail.com [2] http://www.frsag.org/
Bonjour, et bonjour à la liste (première intervention !)
Lors de la mise en place de checks passif, il faut faire bien attention à superviser l'ordonnanceur des checks en actif. Par exemple bien superviser cron sur les machines unix. Sinon on peut se retrouver avec des checks OK (dernier état) alors qu'en fait ils ne sont jamais mis a jour.
Il me semble cependant que l'utilisation de checks passifs est de plus en plus déconseillés.
salutations,
Le 13/12/2010 13:41, Mickael EULOGA [Guest Blog] a écrit :
Bonjour ,
Tu peux également mettre en place NSCA sur certains checks le but est que ça soit la machine distante qui envoi les alertes au serveur nagios. Cela allège les traitements qu’effectue nagios .
Cordialement ,
Mickaël
On Mon, 13 Dec 2010 13:25:47 +0100, Gwenole Le bris gwenole@flebris.net wrote:
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ). J'ai pour ma part fait des tests en natif avec 10000 services et 3000 hôtes (avec une machine relativement puissante) et j'ai très peu de latence (pas plus de 10s). Il y a quelques options à désactiver et à régler pour optimiser les performances.
ex: ENABLE_ENVIRONMENT_MACROS=0 (TRÈS CONSOMMATEUR EN RESSOURCES)
-- Gwenole Le bris
Le 13 décembre 2010 12:31, Hugo Deprez a écrit : Bonjour,
je cherche à optimiser ma configuration nagios, j'ai un serveur de test avec un nombre asse important d'équipement : 2000 hosts et 2500 services. j'utilise nagios 3.2.0
Je remarque que la charge CPU de mon serveur est plutôt irrégulière en moyenne : 3/4/4 avec des pointes à 10 - 13.
Je voudrais donc éviter que le load s'enflamme. J'utilise actuellement une VM avec deux CPU et 4Go de ram.
La mémoire n'a pas l'air de poser problème, le serveur ne swap pas. j'essaye d'optimiser ma configuration, voici les changement que j'ai effectué :
- use_large_installation_tweaks=1
- max_concurrent_checks=80 ou 395
Lorsque j'augmente le max_concurrent_checks le load du CPU augmente...
Au niveau de la latence des services j'ai : 599ms/398ms/1364ms
Si vous avez des conseils pour optimiser les performances de nagios je suis preneur.
Hugo
Liste de diffusion du FRsAG http://www.frsag.org/ [2]
Links:
[1] mailto:hugo.deprez@gmail.com [2] http://www.frsag.org/
Liste de diffusion du FRsAG http://www.frsag.org/
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ).
Désolé, je rebondis sur ce point: mais j'aimerais savoir "pourquoi" ? Tout le monde vente les mérites de la virtualisation, c'était le truc à la mode avant le cloud computing...
J'ai pour ma part fait des tests en natif avec 10000 services et 3000 hôtes (avec une machine relativement puissante) et j'ai très peu de latence (pas plus de 10s). Il y a quelques options à désactiver et à régler pour optimiser les performances.
ex:*enable_environment_macros=0 (très consommateur en ressources)**
Cette option est toujours activée chez moi, par contre celle-ci avait apporté de grandes améliorations en terme de perf : http://nagios.sourceforge.net/docs/2_0/configmain.html#aggregate_status_upda...
Mon serveur ne travaillant plus trop, j'ai même augmenter le nombre de checks par 6 (toutes les 10s plutot que toutes les minutes) : interval_length=10
Le 13 décembre 2010 13:45, Greg greg-frsag@duchatelet.net a écrit :
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ).
Désolé, je rebondis sur ce point: mais j'aimerais savoir "pourquoi" ? Tout le monde vente les mérites de la virtualisation, c'était le truc à la mode avant le cloud computing...
Je n'ai plus que du physique mais il y avait un problème de décalage d'horloge notamment.
http://www.mentby.com/steve-shipway/installing-nagios-server-on-a-virtual-ma...
J'ai pour ma part fait des tests en natif avec 10000 services et 3000 hôtes (avec une machine relativement puissante) et j'ai très peu de latence (pas plus de 10s). Il y a quelques options à désactiver et à régler pour optimiser les performances.
ex:* enable_environment_macros=0 (très consommateur en ressources)**
Cette option est toujours activée chez moi, par contre celle-ci avait apporté de grandes améliorations en terme de perf :
http://nagios.sourceforge.net/docs/2_0/configmain.html#aggregate_status_upda...
Mon serveur ne travaillant plus trop, j'ai même augmenter le nombre de checks par 6 (toutes les 10s plutot que toutes les minutes) : interval_length=10
-- Greg
Liste de diffusion du FRsAG http://www.frsag.org/
Bonjour,
Heu ... avec KVM je ne crois pas qu'il y ait ce phénomène ...
Y a que Xen qui souffre de ce type de problème.
De notre côté, nous n'avons pas de soucis particuliers à mettre le monitoring en VM ( Zabbix ou Nagios )
Lilian
Le 13/12/10 13:58, Gwenole Le bris a écrit :
Je n'ai plus que du physique mais il y avait un problème de décalage d'horloge notamment.
http://www.mentby.com/steve-shipway/installing-nagios-server-on-a-virtual-ma...
Bonjour,
On Mon, 13 Dec 2010 13:45:04 +0100, Greg greg-frsag@duchatelet.net wrote:
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ).
Désolé, je rebondis sur ce point: mais j'aimerais savoir "pourquoi" ?
J'aurais tendance à dire que du coup, les perfs seraient grandement dépendantes du device réseau virtuel. Ca ajoute une couche de risque. De même, si on a beaucoup de checks, et que ca génère des fichiers temporaires, des fichiers de log, ce genre de choses, les perfs d'IO disque en virtuel, c'est probablement moins bon qu'en natif...
Par contre, c'est un peu hors-sujet, mais il semble que Shinken apporte les mêmes fonctionnalités que Nagios, mais avec des perfs largement supérieures. Je n'ai par contre pas eu l'occasion de tester, Shinken n'étant carrément pas compatible avec FreeBSD d'après ce que j'en ai vu (j'ai tenté un peu de corriger les problèmes, mais sans succès, il y en avait trop).
Bonjour, Première intervention également sur cette liste :D
Cela dépend de la solution que tu utilises pour la virtualisation mais les pertes de performances viennent de l'utilisation temps CPU kernel mais avec les solutions actuelles (en full virtu pas en para) cela ne présente plus une grosse perte de performances (avec la solution VMware que j'ai actuellement en place je n'ai observé aucune perte de performance).
Pour augmenter les performances tu peux suivre plusieurs pistes : - Optimisation des sondes ( utiliser du perl avec embedded Perl Nagios plutôt que du script shell ou bash, un exécutable consomme moins qu'un script) - Réduire la fréquence de certain check si ce n'est pas déjà fait par ex. la supervision de l'espace disque ou les serveurs de dev/test. - Diminuer les check_by_ssh - Etc...
Augmenter le cache : cached_host_check_horizon et cached_service_check_horizon. Regardes du coter de nagiostats le nombre de checks en cache, mais tu perds un petit peu en précision.
Sinon il reste 3 commandes magiques que je n'ai pas testé et qu'il faudrait évaluer qui font partie de "use_large_installation_tweaks", mais elles auraient un gros impact sur les perfs. enable_environment_macros=0 free_child_process_memory=0 child_process_fork=0 Quelqu'un a un feedback la dessus ?
nagios -s te dis quoi ?
Pourquoi ne pas regarder du coter d'une architecture avec 2 poller ?
Cdt, Lucas
Bonjour,
il me semble que le paramètre suivant n'existe plus dans nagios 3 : http://nagios.sourceforge.net/docs/2_0/configmain.html#aggregate_status_upda...
Utilisez vous des valeurs particulières pour le max concurrent check ?
Concernant les environment macros, ça correspond à quoi exactement ? au $USER1$ par exemple ? ou au $HOSTADDRESS$ ?
Je viens de désactiver les environment macros et le load a l'air de se stabiliser.
Pour ma part la VM est sur un ESXI, néanmoins je ne vois pas le rapport entre mon load qui fait du yoyo et les performances du host.
2010/12/13 Julien Gormotte julien@gormotte.info
Bonjour,
On Mon, 13 Dec 2010 13:45:04 +0100, Greg greg-frsag@duchatelet.net wrote:
Bonjour,
De ma propre experience, pas de Nagios en VM ça divise les performances par 10 (environ).
Désolé, je rebondis sur ce point: mais j'aimerais savoir "pourquoi" ?
J'aurais tendance à dire que du coup, les perfs seraient grandement dépendantes du device réseau virtuel. Ca ajoute une couche de risque. De même, si on a beaucoup de checks, et que ca génère des fichiers temporaires, des fichiers de log, ce genre de choses, les perfs d'IO disque en virtuel, c'est probablement moins bon qu'en natif...
Par contre, c'est un peu hors-sujet, mais il semble que Shinken apporte les mêmes fonctionnalités que Nagios, mais avec des perfs largement supérieures. Je n'ai par contre pas eu l'occasion de tester, Shinken n'étant carrément pas compatible avec FreeBSD d'après ce que j'en ai vu (j'ai tenté un peu de corriger les problèmes, mais sans succès, il y en avait trop).
Liste de diffusion du FRsAG http://www.frsag.org/
Le 13 déc. 2010 à 14:58, Hugo Deprez a écrit :
Pour ma part la VM est sur un ESXI, néanmoins je ne vois pas le rapport entre mon load qui fait du yoyo et les performances du host.
De mon côté j'ai souvent constaté des load assez important quand les check mettent du temps à s'executer et surtout quand beaucoup de services ou machines sont down. Autre point à surveiller la latence réseau entre le nagios et les machines visées quand tu supervises des machines dans d'autres pays ou d'autre continents (c'est une aberration mais le client est roi) ou quand tu passes par de vieilles lignes rnis par ex, ca n'aide pas les checks à s'executer rapidement.
Sinon pour parler virtualisation (même si c'est hors sujet), en paravirtualisation je veux bien voir où est la perte de performance. De ce que j'ai mesuré en Xen 4 paravirtualisation Debian sur Debian, 3% maxi quand le serveur était saturé. Par contre en full virtualisation n'ayant pas testé les vmware ou d'autre depuis longtemps je ne saurais me prononcer, la dernière fois oui on perdait bien beaucoup en IO.
-- Pierre-Henry Muller
Les environnements macros correspondent aux variables d'environnement de l'utilisateur nagios, cela ne concerne pas les valeurs passé en arguments aux sondes. Pour l'effet yoyo ca peut venir de ton ordonnancement.
Si vous voulez des pistes supplémentaire il faudrait plus d'informations sur l'environnement. :P
Sinon pour parler virtualisation (même si c'est hors sujet), je ne me prononcés pas sur la paravirtu car je n'ai pas eu l'occasion de la tester correctement. Mais sur la solution VMware actuellement en place je suis entre 10-20ms de latence avec des performances en écritures jusqu'à 70MBps sur un petit SAN Equal.
Bonjour,
depuis hier j'ai désactivé les environnement macros, et le load est devenu stable avec en moyenne 1.50. L'amélioration des performances et fulgurante...
Je ne comprends pas trop à quoi cette option sert, si quand on la désactive on ne perd pas en fonctionnalité, et on gagne en performance ?
Surtout que dans la documentation :
"This option determines whether or not the Nagios daemon will make all standard macros http://nagios.sourceforge.net/docs/3_0/macrolist.htmlavailable as environment variables to your check, notification, event hander, etc. commands."
Et dans la page macros on retrouve bien : $HOSTNAME$ par exemple.
2010/12/13 Lucas lucas.spam@gmail.com
Les environnements macros correspondent aux variables d'environnement de l'utilisateur nagios, cela ne concerne pas les valeurs passé en arguments aux sondes. Pour l'effet yoyo ca peut venir de ton ordonnancement.
Si vous voulez des pistes supplémentaire il faudrait plus d'informations sur l'environnement. :P
Sinon pour parler virtualisation (même si c'est hors sujet), je ne me prononcés pas sur la paravirtu car je n'ai pas eu l'occasion de la tester correctement. Mais sur la solution VMware actuellement en place je suis entre 10-20ms de latence avec des performances en écritures jusqu'à 70MBps sur un petit SAN Equal.
Liste de diffusion du FRsAG http://www.frsag.org/
Bonjour,
Je n'ai pas plus d'info.
Je peux par contre citer la definition que Jean Gabès en a faite dans son livre Nagios 3 pour la supervision et la métrologie (que je recommande d'ailleurs) :
Suppression des variables d’environnement Les macros sont fournies aux commandes de vérification par deux biais : • les arguments des sondes ; • les variables d’environnement. Cette dernière utilisation n’est pas très répandue. Il est bien plus simple de passer les valeurs par les arguments, dont la configuration est plus « visible ». Le positionnement des variables est très coûteux en termes de calcul. On peut demander à Nagios de ne pas le faire. Pour cela, l’argument enable_environment_macros doit être positionné à 0 dans le fichier nagios.cfg. Désactivation des macros d’environnement enable_environment_macros=0
Il est important de vérifier que les sondes mises en place par l’administrateur n’utilisent pas cette fonctionnalité. Si c’est le cas, il est nécessaire de les modifier pour qu’elles utilisent ces valeurs à travers les arguments. Si l’impact de cette modification en termes de performance n’est pas miraculeux, il est tout de même appréciable. Voici par exemple la courbe des seuils de latence sur le serveur pris en exemple, avec et sans l’utilisation de ce paramètre.