centreon / centreon-archived

Centreon is a network, system and application monitoring tool. Centreon is the only AIOps Platform Providing Holistic Visibility to Complex IT Workflows from Cloud to Edge.
https://www.centreon.com
GNU General Public License v2.0
574 stars 241 forks source link

Problème avec les external commands #374

Closed centreon closed 9 years ago

centreon commented 12 years ago

Author Name: julien breton (julien breton) Original Redmine Issue: 3247, https://forge.centreon.com/issues/3247 Original Date: 2012-04-19 Original Assignee: Quentin Garnier


J'ai un problème avec les external commands sur ma plateforme. Je suis systématiquement obligé de relancer la commande plusieurs fois avant qu'elle soit prise en compte (quand elle l'est, si je n'abandonne pas avant).

Que ce soit un export de la conf, un schedule service check ou acknowledgmenent, c'est la même chose. J'ai mis à jour centreon en 2.3.4 (pas encore en 2.3.6) et n'observe aucune amélioration.

Je supervise 2000 hôtes et 4000 services. Sur ma plateforme de test, avec 60 hôtes et 400 service çà fonctionne bien.

Dans les logs Nagios, je ne vois rien arriver relatif aux commandes envoyées.

Ce qui me gêne c'est que je veux installer le module threshold mais avec ce bug, il ne me sert à rien vu qu'il envoie les modification via les external commands.

Plateforme :

2 serveurs centreon, 5 nagios satellite. Le problème ne se pose que sur les satellite.

Une petite aide ?

Merci

centreon commented 12 years ago

Original Redmine Comment Author Name: Sylvestre Ho (Sylvestre Ho) Original Date: 2012-04-19T14:22:58Z


Hello,

Problème de réseau? Le SSH est il fluide entre le central et les pollers? Que dit le log centcore?

Cordialement,

centreon commented 12 years ago

Original Redmine Comment Author Name: julien breton (julien breton) Original Date: 2012-04-19T17:53:36Z


RAS coté réseau et pour ssh, j'ai fais plusieurs tests, pas de problème non plus. La connexion se fait en quelques millisecondes.

Pour les logs, rien du tout. Pas la moindre trace d'une external commands. Juste les PROCESS_SERVICE_CHECK_RESULT. D'ailleurs, il n'y a que çà dans les logs pour les externals commands.

Ce qui est bizarre, c'est que j'ai lancé un check forcé sur le nagios ou se trouve centreon (utilisé pour se monitorer lui-même) et je n'ai rien vu dans les logs, alors que la commande à bien été prise en compte et tracer dans les logs nagios.

Idem pour l'ajout d'un commentaire. Trace dans Nagios mais pas dans Centcore.

centreon commented 12 years ago

Original Redmine Comment Author Name: julien breton (julien breton) Original Date: 2012-04-25T05:05:35Z


Une idée ? Une piste ? Quelque chose ?

Merci

centreon commented 12 years ago

Original Redmine Comment Author Name: Sylvestre Ho (Sylvestre Ho) Original Date: 2012-04-27T12:58:47Z


Bonjour,

Si l'external command est lancée localement, ça ne passe pas par centcore. Est-ce que centcore tourne? /etc/init.d/centcore status

centreon commented 12 years ago

Original Redmine Comment Author Name: julien breton (julien breton) Original Date: 2012-05-02T17:05:13Z


Désolé pour le retard.

Oui, Centcore tourne bien puisque au bour de plusieurs fois les externals commands sont envoyées. Ca donne l'impression qu'il y a une fenêtre de temps (quelques secondes) pendant lequel l'exécution des externals commandes sont possibles, puis après plus rien. Rien dans les logs (tail -f pour suivre en live)

centreon commented 12 years ago

Original Redmine Comment Author Name: julien breton (julien breton) Original Date: 2012-05-02T17:11:33Z


J'ai testé sur un centreon de DEV avec quasiment le même nombre d'hosts et services, sur une VM (juste le time interval qui a été changé pour ne pas trop charger la VM).

-> Aucun problème les externals commands sont bien lancées. Cependant, le test ne peut pas trop être comparé.

En revanche, sur ma plateforme de spare, j'ai le même problème (même hardware, même version de centreon)

Enfin, à noter qu'un restart de centcore échoue en général, obligé de le faire 2 ou 3 fois. Lors des mises à jour, faut-il arrêter centcore et centstorage afin que les binaires se mettent à jour s'il y a lieu ?

centreon commented 12 years ago

Original Redmine Comment Author Name: Quentin Garnier (Quentin Garnier) Original Date: 2012-05-18T15:00:32Z


Voici mon adresse email: qgarnier@merethis.com pour convenir d'une session WebEx Lundi si possible.

centreon commented 12 years ago

Original Redmine Comment Author Name: Quentin Garnier (Quentin Garnier) Original Date: 2012-05-21T10:10:29Z


Le problème se situait au niveau des droits sur le répertoire "/var/lib/centreon". Ce répertoire doit appartenir à l'utilisateur du serveur apache ("www-data" ou "apache" le plus souvent)

1. chown apache:nagios /var/lib/centreon
1. chmod 775 /var/lib/centreon

Le serveur "apache" écrit dans ce fichier ainsi que le processus de traps. Sachant que le processus de trap est en utilisateur "root", il est nécessaire que le serveur "apache" puisse écrire dans ce fichier (même s'il possède des droits "root").

centreon commented 12 years ago

Original Redmine Comment Author Name: julien breton (julien breton) Original Date: 2012-05-21T16:45:11Z


Quentin,

Je met à jour ce post pour les autres.

Comme dit par email, le patch du fichier /usr/local/centreon/bin/centTrapHandler-2.x consistant à remplacer les 2 lignes :

my $submit = "su -l nagios -c '/bin/echo \"EXTERNALCMD:$id:[$datetime] PROCESS_SERVICE_CHECK_RESULT;$this_host;$this_service;$status;$arguments_line\" >> $cmdFile' ";

et

my $submit = "su -l nagios -c '/bin/echo \"EXTERNALCMD:$id:[$datetime] SCHEDULE_FORCED_SVC_CHECK;$this_host;$this_service;$datetime\" >> $cmdFile' ";

ne fonctionne pas. En effet le process de trap crée un fichier /var/lib/centreon/centcore.cmd nagios:nagios en -rw-r--r-- (avec en dossier parent www-data:nagios) mais apache ne peut toujours pas écrire dedans (pourquoi ? bonne question)

Mais en mettant :

my $submit = "su -l www-data -c '/bin/echo \"EXTERNALCMD:$id:[$datetime] PROCESS_SERVICE_CHECK_RESULT;$this_host;$this_service;$status;$arguments_line\" >> $cmdFile' ";

et

my $submit = "su -l www-data -c '/bin/echo \"EXTERNALCMD:$id:[$datetime] SCHEDULE_FORCED_SVC_CHECK;$this_host;$this_service;$datetime\" >> $cmdFile' ";

ca marche. les traps sont traitées et les external_commands via l'interface web aussi (le fichier centcore.cmd contient bien le tout)

Soit il faut ajouter çà dans une prochaine version, soit il faut que le process de trap crée le fichier en -rw-rw-r-- et faire un chown www-data:nagios sur le répertoire /var/lib/centreon

Merci pour le support

centreon commented 12 years ago

Original Redmine Comment Author Name: Quentin Garnier (Quentin Garnier) Original Date: 2012-06-07T14:54:04Z


La correction "su -l nagios" fonctionne logiquement. Il faut que le répertoire hébergeant le fichier "centcore.cmd" possède les droits suivants:

centreon commented 12 years ago

Original Redmine Comment Author Name: Sylvestre Ho (Sylvestre Ho) Original Date: 2012-06-25T09:28:15Z


Quentin,

Do you have a solution yet?

Thanks

centreon commented 12 years ago

Original Redmine Comment Author Name: Sylvestre Ho (Sylvestre Ho) Original Date: 2012-07-03T12:00:39Z


revision r13144