Check sur NAGIOS

Résolu
Bonjour,

j'ai quelques problemes avec les checks https et ldap et quelques questions sur le check pop et le check smtp. Sur NAGIOS et CENTREON.

Pour commencer, lecheck_ldap :
sur Centreon, dans l'onglet "commande" je vois que la ligne de commande doit correspondre à cela Usage: check_ldap -H -b [-p ] [-a ] [-D ] [-P ] et la commande que je tape est celle-ci $USER1$/check_ldap -H $HOSTADDRESS$ -b $ARG1$ -p $ARG2$ -a $ARG3$ -D $ARG4$ -P $ARG5$ avec pour arguments ($ARGx$) !"dc=i-wel,dc=fr"!389!"(objetclass=*)"!"cn=monitor,dc=i-wel,dc=fr"!"tHaduCu8". Cependant lorsque ce check ne fonctionne pas, Nagios me répond Utilisation: check_ldap -H -b [-p ] [-a ] [-D ].

Ensuite, le check_https:
dans l'onglet "commande" je tape cette commande $USER1$/check_http -S -H $HOSTADDRESS$ -p 443 . Apparement le service fonctionne mais Nagios me répond Connexion refusée. En sachant que https c'est du http qui utilise du SSL (je crois), c'est que le check http fonctionne mais ma commande ne doit pas être complète, il doit manquer le SSL. je ne sais pas trop.

Pour finir, j'ai aussi le check pop et le check smtp (pour surveiller en serveur de messagerie) qui fonctionne mais je me pose une question. Est-ce que Nagios surveille bien si le service fonctionne, ou uniquement si le port, utilisé par le service, est ouvert. Pour le check pop j'ai tapé cette commande $USER1$/check_pop -H $HOSTADDRESS$ et Nagios me répond POP OK - 0,017 second response time on port 110 [+OK piw-zimbra.i-wel.fr Zimbra POP3 server ready] Pour le check smtp j'ai tapé cette commande $USER1$/check_smtp -H $HOSTADDRESS$ et Nagios me répond SMTP OK - 0,036 sec. de temps de réponse.

*J'espère que je suis assez clair dans mes explications, et que l'un de vous pourra me filer un coup de main.
Merci d'avance.
Configuration: Debian / Nagios et Centreon

28 réponses

Résumé de la discussion

Plusieurs problèmes ressortent autour des checks LDAP, HTTPS, POP et SMTP sous Nagios et Centreon, avec des soucis de syntaxe des arguments et d'utilisation du SSL. Pour LDAP, la commande et les arguments semblent décalés par rapport à l'exemple attendu, et pour HTTPS l'option SSL (-S) est nécessaire afin d'éviter la connexion refusée. Concernant POP et SMTP, les tests affichent OK avec un temps de réponse sur les ports 110 et 25, ce qui interroge si Nagios vérifie le service ou uniquement le port et rappelle l'usage du NRPE ou SNMP. En pratique, tester les plugins directement dans le répertoire et sous l’utilisateur nagios, et vérifier les droits et chemins (ex. check_disk) avant déploiement dans Centreon.

Bobot (l’IA à votre service)
  1. C'est sûr que dans ce cas là c'est surement plus simple avec snmp.

    Je me permets quand même de réagir sur ta remarque sur la différence entre nrpe et nagios. En réalité c'est avec nrpe que nagios travaille. Avec nrpe, nagios accède à l'hôte distant (via le port 5666 par défaut), lance le plugin et récupère les infos.
    Avec snmp, nagios est simplement en "écoute", il attend une "interruption" snmp. Donc dans ce cas là c'est plutôt snmp qui bosse.

    Je te précise ca parce que ca pourrait t'être utile par la suite. Je bosse sur nagios dans le cadre d'un stage également alors je sais à quel point ca peut être prise de tête (mais fort interressant quand même!).

    Pour tester tes commandes avant de les intégrer à centreon, tu peux aussi directement utiliser les plugins sans passer par nagios. Par exemple pour ton check_disk, dans le répertoire des plugins tu peux taper

    ./check_disk -w 10% -c 5%

    qui devrait te sortir un truc du genre "OK : ..."
    Ca permet de vérifier que ta syntaxe est bonne.
    Petite précision quand même : il vaut mieux être loggé sous l'utilisateur nagios quand tu fais cette manip. Si tu la fais en root, parfois le plugin marchera de cette façon mais pas dans nagios ou centreons (c'est à cause des droits, parfois nagios n'a pas assez de droits pour accéder à une ressource demandée par le plugin)

    Bref j'espère que ca va t'aider! Moi il faut vraiment que je me mette à snmp!
    1. Mais de rien, je ne peux que t'aider sur des trucs assez simples, je suis un peu perdue avec Centreon, snmp et la plupart des services que tu supervises..

      En tout cas bon courage pour la suite!
      1. Pour le check_ldap, sa fonctionne.
        J'ai tapé cette commande $USER1$/check_ldap -H $HOSTADRESS$ -3 -b dc=i-fal,dc=fr -D cn=monitor,dc=i-wel,dc=fr -P password.
        Ne pas mettre les " comme je faisait avant et faire attention à la version ldap que l'on utilise.

        Nagios me renvoie ce message: LDAP OK - 0,004 secondes de temps de réponse|time=0,003569s;;;0,000000
        1. Sauf pour quelques machines, j'ai ce message:
          Status Information Check mod for temporary file : /var/lib/centreon/centplugins/traffic_if5_piw-webinteg2.i-fal.fr !
          1. c bon pour le check_centreon_snmp_traffic. Je l'utilise, pour l'instant, pour contrôler le traffice sur eth0 et cela fonctionne.
            J'ai tapé cette commande $USER1$/check_centreon_snmp_traffic -H $HOSTADDRESS$ -i 5 -v2 -w 85 -c 95
            J'ai une réponse de ce type
            Status Information Traffic In : 2.31 kb/s (0.0 %), Out : 23.11 b/s (0.0 %) - Total RX Bits In : 573.19 MB, Out : 2.27 Mb
            Performance Data traffic_in=2314,6Bits/s;0;10000000 traffic_out=23,1Bits/s;0;10000000


            *Est-ce que tu peux me dire la différence entre eth0, lo et venet0
            1. * Pour info, dans le check_https, c'est cette commande qu'il faut entrer $USER1$/check_http -H $ARG1$ -p 443 -u $ARG2$ -S -a user:pwd
              1. En ce qui concerne mon problème avec le redémarrage de Nagios, c'est revenu à la normal, j'ai effacé mes dernières modif et c'est reparti. Je ne sais pas trop comment.

                D'ailleur, si je veut faire une sauvegarde de Nagios, est-ce que ça suffit de copier le dossier "/etc/nagios3"?
                Il contient tous les fichiers de config:
                apache2.conf
                hosts.cfg
                misccommands.cfg
                cgi.cfg
                htpasswd.users
                nagios.cfg
                checkcommands.cfg
                meta_commands.cfg
                ndo2db.cfg
                commands.cfg
                meta_contact.cfg
                ndomod.cfg
                conf.d
                meta_contactgroup.cfg
                resource.cfg
                contactgroups.cfg
                meta_dependencies.cfg
                serviceextinfo.cfg
                contacts.cfg
                meta_escalations.cfg
                servicegroups.cfg
                dependencies.cfg
                meta_host.cfg
                services.cfg
                escalations.cfg
                meta_hostgroup.cfg
                SNMPv2-SMI.my
                hostextinfo.cfg
                meta_services.cfg
                stylesheets
                hostgroups.cfg
                meta_timeperiod.cfg
                timeperiods.cfg
                1. On dirait que c'est une erreur à l'arret de nagios.

                  Tu as essayé de faire un stop puis start pour voir si l'erreur se situait à l'arret ou au démarrage de nagios?
                  1. Oui, il s'arrete correctement, mais plante (enfin sa bloque) avec start.
                    J'ai reboot la machine 2 ou 3 fois et c'est reparti (un coup de chance)
                2. bon Nagios redémarre (avec beaucoup de mal) mais toujours avec le message d'erreur message, il n'y a que l'identifiant du process qui change.
                  Un coup c'est 2845, après c'est 2880, et là c'est 3035. j'vai regarder à quoi cela correspond.

                  Le seul changement effectué est l'ajout d'un service by host (le http sur le port 8080), et je viens de le supprimer.
                  1. Ton probleme de nagios qui ne redemarre pas est peut etre lie au fait que le script /etc/init.d/nagios n'arrive pas a trouver le pid de nagios.

                    Regarde comment c'est configure dans /etc/nagios/nagios.cfg pour le pid.

                    J'ai eu ce probleme et en fin de compte le script regarde pour le pid quelque part et nagios.cfg le mettait autre part...

                    Du coup en fait Nagios ne s'arretait jamais et ne faisait que demarrer ...
                3. nouveau problème:
                  lorsque je redémarre Nagios, j'ai ce message d'erreur
                  /etc/init.d/nagios3: line 64: kill: (2845) - aucun processus de ce type

                  et apparement nagios ne redémarre pas.

                  AIDEZ moi
                  1. en fait je vais juste faire un check_http parce qu'en fait (pour faire simple) les pages web en https, renvoient vers plusieurs serveurs (ceux que je surveille) en http sur le port 8080.
                    1. Pour moi ca veut dire qu'il n'arrive pas à établir de connexion. Tu dois avoir un problème d'adresse ou de port je pense.
                      En tout cas une erreur dans l'adresse ou dans le port génère l'erreur que tu obtiens. Donc ca n'a peut-être rien à voir mais c'est par là que je commencerai à ta place.
                      1. pour le check https, je tape cette commande check_http -S -H piw-cas1.i-wel.fr -p 443
                        Mais j'ai cette réponse Connexion refusée HTTP CRITIQUE - Impossible d'ouvrir un socket TCP
                        Qu'est-ce que le socket TCP, c'est le port, Non?
                        Est-ce que t'a une idée?

                        Bon j'te laisse, je m'y remettrai demain.
                        MERCI encore !?!?
                        1. ok et merci pour les info c'est beaucoup plus clair maintenant.

                          Sa permet de mieux se comprendre et de mieux comprendre les doc que je vais trouver sur le net (c'est cool).

                          J'vais voir pour le check_https, le check_ldap et aussi pour le check_centreon_traffic.
                          En espérant que ça marche du premier coup. (impossible!)
                          1. En réalité :

                            test actif : nagios lance lui même le plugin (en local ou sur la machine distante). C'est le cas lorsque tu utilises nagios avec nrpe, ssh, nsclient++ par exemple. De même, si c'est nagios qui lance les plugins locaux, alors on dit que c'est un check actif.

                            test passif : nagios est en attente d'informations. (encore une fois, de la machine locale ou de la machine distante). C'est le cas lorsque tu utilises les traps snmp (et NSCA également il me semble). Ce n'est pas nagios qui provoque la vérification, il récupère juste les informations envoyées (par snmp dans ton cas). D'où le terme "passif".

                            Je n'ai pas encore eu besoin de superviser un service https mais si tu y arrives pourrais-tu poster ta solution?
                            1. OK merci pour la précision sur NRPE et SNMP.
                              Donc si je ne me trompe pas (encore), Nagios peut effectuer 2 types de test:
                              - test actif qui utilise les plugins distant, c'est à dire qu'il intérroge à distance des service exposé publiquement (http, ftp, snmp...)
                              - test passif qui utilise les plugins locaux, c'est un contrôle fait localment puis transporté vers Nagios (check_disk, check_procs... grâce au NRPE ou au NSClient pour windows)

                              As-tu mis en place un check_https par azard?

                              J'vais essayé de mettre en place un check_centreon_traffic, il utilise aussi le SNMP. Jte tiend au courant des résultats.
                              1. ok, merci.
                                Tes info me permettent quand même de distinguer le NRPE du SNMP et je comprend mieux pourquoi on dit que le check_disk est en locale. Le check se fait localement, sur le serveur à surveiller (avec le plugins installer sur ce serveur), puis renvoyer à Nagios.
                                Alors qu'avec le SNMP, c'est Nagios qui fait le travaille, il envoie une requête, pour interroger l'hôte via le port snmp et il récupère les info dont il a besoin. (c'est plus ou moins ce que j'ai compris, ce n'est pas très clair, mais c'est un début).
                                Moi je suis en stage et je ne peux pas rien installer sur les 56 serveurs que je dois surveiller. Sa me forcerait à demander trop d'info aux administrateurs réseaux (login/mot de passe...), qui sont déjà bien occupés. Utiliser le snmp me permet de me débrouiller tout seul (pas vraiment seul, heureusement il y a ce type de forum) et de ne leur prendre trop la tête. Là je leur ait demander de mettre en service le protocole snmp sur les serveurs et je peux effectuer les différentes requêtes.

                                Pour le check_centreon_snmp_remote_storage, sa fonctionne. j'ai tapé cette commande $USER1$/check_centreon_snmp_remote_storage -H $HOSTADDRESS$ -d 31 -w 85 -c 95.

                                Sur un autre forum, j'ai eu un bon conseil : il faut d'abord tester les commandes sur Nagios et une fois qu'elles fonctionnent, elles peuvent être déployées sur Centreon.

                                En tout cas merci pour les conseil, sa m'aide beaucoup.
                                1. Malheureusement je ne peux pas vraiment t'aider sur snmp ou sur centreon.

                                  Pour monitorer des machines distantes, j'utilise plutôt nrpe qui permet d'executer les plugins de nagios sur les machines distantes. (cela impose d'installer les plugins de nagios sur les machines distantes.)

                                  L'avantage c'est qu'avec nrpe tu pourrais utiliser ton plugin check_disk (check_swap, check_user, enfin tous les plugins qui ne fonctionnent qu'en local) , et à première vue ca a l'air plus simple que d'utiliser snmp.
                                  • 1
                                  • 2