Check sur NAGIOS

Résolu/Fermé
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 - 15 sept. 2009 à 09:53
 Gael - 22 oct. 2009 à 12:20
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.

28 réponses

K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
16 sept. 2009 à 15:26
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!
4
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
15 sept. 2009 à 16:32
Salut,

Pour ton check_ldap, je ne sais pas si les arguments sont corrects mais il me semble que tu en a un en trop. Dans ta commande tu déclares 5 arguments alors que ta liste d'arguments a l'air de contenir 6 arguments. (les arguments sont séparés par les points d'exclamation)

Pour le check_http, en tapant ./check_http -h (dans le répertoire des plugins de nagios), on dirait que l'option -S pourrait t'être utile pour le ssl.

Enfin pour le check_disk je ne sais pas quel chemin utilise nagios par défault mais tu as l'option -p pour spécifier un path particulier dont tu veux checker l'espace disponible. Je te conseil de faire plusieurs tests avec des paths différents pour répondre à ta question et voir si ton problème vient de là.

Le check_disk est un plugin qui ne fonctionne qu'en local, pour l'executer sur un hôte distant il te faut utiliser nrpe par exemple. Pour moi le plugin de base de nagios n'a pas grand chose à voir avec snmp

J'espère que ca va t'aider un peu.
Bon courage!
2
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
15 sept. 2009 à 15:26
personne ne peux m'aider? Je cherche sur les autre forum mais je n'trouve pas.
J'ai ajouté aussi le check_disk, il fonctionne en ligne de commande dans Nagios, avec cette commande /usr/lib/nagios/plugins/check_disk -w 10% -c 5%. Je vois qu'elle fonctionne car Nagios me répond cela DISK OK - free space: / 64799 MB (94% inode=99%); /lib/init/rw 1497 MB (100% inode=99%); /dev 9 MB (99% inode=99%); /dev/shm 1497 MB (100% inode=99%);| /=3557MB;64812;68413;0;72014 /lib/init/rw=0MB;1347;1422;0;1497 /dev=0MB;9;9;0;10 /dev/shm=0MB;1347;1422;0;1497
Cependant, je crois que cette ligne de commande me permet juste de contrôler l'espace disque de Nagios lui même. Car quand j'entre la commande $USER1$/check_disk -w $ARG1$ -c $ARG$ dans l'onglet "commande" de Centreon, cela ne fonctionne pas, Centreon me répond ceci DISK CRITIQUE - $ is not accessible: Aucun fichier ou répertoire de ce type.
Est-ce que ce check utilise le snmp pour communiquer avec le client ?!?!!
1
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 11:58
si j'ajoute le -v2 a la fin de cette commande.
C'est à dire check_centreon_snmp_remote_storage -H adresseIP -s
Nagios me répond hrStorage 3 ::

Mais le serveur distant répond, d'ailleur mon admin réseau m'a dit qu'il voyait les requête de Nagios sur ce serveur distant.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
17 sept. 2009 à 14:00
O
1
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 09:38
bonjour,

En fait pour le check_ldap, j'ai ajouté le [-P] qui correspond au password, car la commande /check_ldap -h me donne:
Usage: check_ldap -H -b [-p ] [-a ] [-D ]
[-P ] [-w ] [-c ] [-t timeout]
[-2|-3] [-4|-6]
De toutes façon que je le mette au pas, j'ai toujours le même message Utilisation: check_ldap -H -b [-p ] [-a ] [-D ]..

Pour le check_disk, apparement ça fonctionne, j'ai tapé cette commande $USER1$/check_disk -w $ARG1$ -c $ARG$, c'est à dire que j'ai ajouté le /, ce qui indique le chemin à Nagios, et les donnée renvoyé par les hôtes, sont chaque fois différentes. Mais je demande, dans le cas ou le client aurait plusieurs disque dur, si Nagios regarde bien tous les disques.
*Par contre je ne vois pa ce que tu veux dire quand tu dis "un path particulier" (qu'est-ce qu'un path).

Enfin dans le https, faut-il un login et un mot de passe (comme quand on va consulter un compte banquaire sur le net par exemple)?? Pour le SSL Nagios me dit -S, --ssl, Connect via SSL. Port defaults to 443. J'vais chercher des infos sur le SSL pour voir s'il me faut pas obligatoirement un login/mot de passe.

(pour info je ne surveille que des serveurs Linux)
Merci pour le coup de main.
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 09:41
je me suis trompé pour le check_disk, la commande que j'ai tapé est $USER1$/check_disk / -w $ARG1$ -c $ARG$.
C'est tout... ....POUR LE MOMENT!?!?
0
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
16 sept. 2009 à 10:37
Salut,

Pour ton check_ldap je ne vois pas bien ce que tu veux dire quand tu dis que tu as ajouté le [-P]. Si la commande que tu utilises est bien celle de ton premier post, tu as un problème d'arguments.

$USER1$/check_ldap -H $HOSTADDRESS$ -b $ARG1$ -p $ARG2$ -a $ARG3$ -D $ARG4$ -P $ARG5$ indique à nagios qu'il est en attente de 5 arguments.
Or ta liste d'arguments ($ARGx$)!"dc=i-wel,dc=fr"!389!"(objetclass=*)"!"cn=monitor,dc=i-wel,dc=fr"!"tHaduCu8"
contient 6 arguments

(Je me répète un peu mais je ne suis pas sûre d'avoir été claire dans mon post précédent. Ceci dis que ne suis pas sûre d'être plus claire maintenant..)

En principe l'erreur que tu as indique une mauvaise utilisation de la commande. Si tes arguments étaient mauvais, le message d'erreur ne serait probablement pas l'aide du plugin. (pour moi ca serait un message propre à ldap). Donc ajouter une option dans la commande ou retirer l'argument manquant dans ta liste d'arguments devrait résoudre le problème (ou te générer un autre type d'erreur ..)


Pour le check_disk, tu peux spécifier un chemin (path). Selon les installations, il arrive que le disque soit partitionné (en fait il l'est au moins pour la swap). Par exemple une partition peut être réservée pour le répertoire /home. Je pense que dans ce cas là, l'option -p peut être utile pour monitorer une partition particulière. Ceci dis je ne sais pas comment fonctionne le plugin quand un chemin n'est pas spécifié.

Encore une fois bon courage!
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 11:20
Pour le check_disk, j'ai vu sur un autre forum que je n'étais pas bon. En fait , tu avais raison c'est du local. Sa avait l'air de fonctionné mais on m'a dit qu'il fallait que j'utilise le check_centreon_snmp_remote_storage .
Ce plugins utilise le snmp et il peut controler le swap, la taille du disque utilisé ...
hrStorage 1 :: Physical memory
hrStorage 3 :: Virtual memory
hrStorage 6 :: Memory buffers
hrStorage 7 :: Cached memory
hrStorage 8 :: Shared memory
hrStorage 10 :: Swap space
hrStorage 31 :: /
Ce qui est affiché au dessus s'obtient avec cette commande: check_centreon_snmp_remote_storage -H 127.0.0.1 -s

En fait je fait les test snmp sur Nagios lui même pour vérifier que mes commandes fonctionnent (étant donnée que je suis sur que le protocole snmp est bien installé sur Nagios)

Maintenant je tape cette commande check_centreon_snmp_remote_storage -H 127.0.0.1 -d 31 -w 80 -c 95 et ça fonctionne, Nagios me dit l'espace disque occupé. (-H c'est l'hôte, -d le hrstorage, -w et -c sont les alertes)

Par contre quand j'effectue cette requête sur un serveur distant (où est installé le snmp) cela ne fonctionne pas. Nagios me dit :
- (pour le -s) ERROR: hrStorageDescr Table : Requested table is empty or does not exist.
- (pour le -d -w80 -c 95) ERROR: Received noSuchName(2) error-status at error-index 4..

Pour le ldap je cherche, je fait des test mais cela ne fonctionne toujours pas (mettons le de côté)
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 12:07
au fait, si je fait check_centreon_snmp_remote_storage --help
cela me donne:

Usage:
/usr/lib/php5/libexec//check_centreon_snmp_remote_storage
-H (--hostname) Hostname to query - (required)
-C (--community) SNMP read community (defaults to public,
used with SNMP v1 and v2c
-v (--snmp_version) 1 for SNMP v1 (default)
2 for SNMP v2c
-d (--disk) Set the disk (number expected) ex: 1, 2,... (defaults to 2 )
-n (--name) Allows to use disk name with option -d instead of disk oid index
(ex: -d "C:" -n, -d "E:" -n, -d "Swap Memory" -n, -d "Real Memory" -n
(choose an unique expression for each disk)
-s (--show) Describes all disk (debug mode)
-w (--warn) Signal strength at which a warning message will be generated
(default 80)
-c (--crit) Signal strength at which a critical message will be generated
(default 95)
-V (--version) Plugin version
-h (--help) usage help
0
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
16 sept. 2009 à 13:24
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.
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 14:40
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.
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 15:55
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.
0
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
16 sept. 2009 à 16:11
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?
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 16:34
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!)
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
16 sept. 2009 à 17:03
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 !?!?
0
K'Pla Messages postés 11 Date d'inscription mercredi 9 septembre 2009 Statut Membre Dernière intervention 23 septembre 2009 8
16 sept. 2009 à 17:39
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.
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
17 sept. 2009 à 10:51
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.
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
17 sept. 2009 à 11:34
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
0
moxxxx Messages postés 143 Date d'inscription vendredi 4 septembre 2009 Statut Membre Dernière intervention 20 janvier 2011 8
17 sept. 2009 à 11:50
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.
0
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 ...
0