PDA

View Full Version : Hosts et Services


PtitDav
25th August 2005, 11:23
Bonjour,

est-il possible que des services testant une machine puissent fonctionner quand la machine elle-même est considéré comme "INACCESSIBLE"?

Par ce qu'en ce moment, ca me le fait.
4 services sont lancés pour vérifier certains composants sur la machine.
Ils renvoient tous les infos correctement.
Par une commande shell, le ping de cette machine fonctionne correctement mais Oreon me considere cette machine comme "iINACESSIBLE".

Une idée?

WAtt
25th August 2005, 11:31
J'avais lu rapidement la doc nagios, et en fait faut bien que tu précises que tes 4 services sont dépendant de ton ping.

Un peu comme, ne pas allerter que tt les service sont KO si je switch en amont est éteint..

Sinon regarde quel est ton service qui te dis qu'il est INACCESSIBLE et test le en ligne de commande.

WAtt

PtitDav
25th August 2005, 11:40
en fait sous Oreon, quand tu ajoute un host avec un service, il va tester non pas 1 chose (en l'occurence ton service) mais 2:
- la presence de la machine (ici, il n'y a strictement rien à faire, ca se fait tout seul)
- le service déclaré

A la fin tu as dans le mode "surveillance' 2 tableaux récapitulatifs tout en haut:
- celui qui te dit qui est "up", 'down', 'inacessible' (resultat du test de presence de la machine non défini par l'admin)
- celui qui te dit quels services sont 'ok' 'critique' ...

Donc pour revenir a çà, une machine qui ne peut etre jointe ne peut confirmer la bonne realisation des services associées.

Mais çà le fait :shock:

et comme je disais, en ligne de commande tout fonctionne.
Par l'interface web aussi sauf qu'il me considere ma machine en 'inaccessible' alors qu'elle est bien là.

faut bien que tu précises que tes 4 services sont dépendant de ton ping
Attention, en aucun cas je demande ce service de ping.

florentmair
25th August 2005, 11:58
J'avais lu rapidement la doc nagios, et en fait faut bien que tu précises que tes 4 services sont dépendant de ton ping.


tu as des infos sur cette option ?? son nom ??

WAtt
25th August 2005, 12:11
Dans la doc nagios, il me semble que c'est ces options :

Services dependencies et host dependencies..

Je te laisse parcourir la doc

PtitDav
25th August 2005, 12:15
Je n'utilise pas ces options...
Mon problème est tout autre.

C'est peut etre que ma machine ne souhaite pas répondre à ce test automatique d'Oreon par soucis de sécurité.

DonKiShoot
25th August 2005, 12:17
Je n'utilise pas ces options...
Mon problème est tout autre.

C'est peut etre que ma machine ne souhaite pas répondre à ce test automatique d'Oreon par soucis de sécurité.

Regarde du coté purement nagios.
Souvent le check_host alive ne marche pas à cause d'un bug dans le ping.
Bcp ont du utiliser fping :wink:

PtitDav
25th August 2005, 12:27
Oui mais 17 autres serveurs sont bien déclarés en 'UP'.
Le problème vient surement de la machine concernée nan?!
Par déduction...

WAtt
25th August 2005, 12:31
un Iptables qui drop les requete ICMP ? un firewall windows ?

Je peux me tromper, mais on ne sais jamais, faut regarder partout ;)

PtitDav
25th August 2005, 12:33
ben hier encore ca marchait...
Et je ne pense que des modifs ont été faites sur ce serveur...

Je reinstalle tout je verrai bien...
j'ai une base de données de sauvegarde :wink:

templuche
25th August 2005, 12:52
Bonjour,

Quand un serveur est en unreachable ("inaccessible") c'est qu'un switch, un routeur, un firewall ou tout autre équipement réseau présent sur le chemin entre Nagios et ce serveur est DOWN.

Cette notion se définit grâce à la parentalité (parents, défini pour chaque host). Elle n'a rien à voir avec la dépendance de service ou de host.

PtitDav
25th August 2005, 15:01
l'accès réseau est bon puisque l'agent nsclient arrive à renvoyer ses infos.
En vérifiant ma config, je n'utilise pour aucune des machines testées le paramètre "parent"

J ai donc tout reinstaller. ca le fait toujours.
Je crois que c'est ma base de données qui merde.

Je vais tester avec une nouvelle base de données juste pour la machine concernée.

Je vous tiens au courant.

wistof
25th August 2005, 15:07
ça doit pas venir d'Oreon.. Oreon interprète les logs Nagios, c'est tout...

PtitDav
25th August 2005, 15:14
Justement je vire bien tous les logs possibles pour ne pas que l interface se base sur des historiques.
Les test des services repartent donc bien de zéro.
tous sont en "pending" et passent petit a petit de "pending" a "ok".
mais seul une machine (tjs la meme) est considéré comme "inaccessible" malgré que les services associés a cette machine soit bien passé au status "ok".

Vraiment bizar!
de plus j ai reinstallé nagios, puis oreon.

surcouf
25th August 2005, 15:21
Justement je vire bien tous les logs possibles pour ne pas que l interface se base sur des historiques.
Les test des services repartent donc bien de zéro.
tous sont en "pending" et passent petit a petit de "pending" a "ok".
mais seul une machine (tjs la meme) est considéré comme "inaccessible" malgré que les services associés a cette machine soit bien passé au status "ok".

Vraiment bizar!
de plus j ai reinstallé nagios, puis oreon.

Quelle est la commande utilisée pour vérifier que cet hôte soit effectivement accessible ? En général, la commande check-host-alive est utilisée et fait appel au plugin check_ping. Vérifie donc déjà si l'hôte est accessible via ICMP (type 8) et si ce n'est pas le cas, il faudra changer de commande.

wistof
25th August 2005, 15:26
il faut vérifier aussi que ton utilisateur nagios peut lancer la commande check_ping

PtitDav
25th August 2005, 15:33
j ai trouvé !!!!!!!!!!!!!!!!!!!!
regardé ces 2 hosts: le premier est bien en "up" et le 2 est celui qui reste en "inaccessible".


Etat de l'Host UP
Informations sur l'état
(Host assumed to be up)
Last Status Check 25-08-2005 at 14:25:35
Status Data Age 25-08-2005 at 14:05:24
Last State Change: 25-08-2005 at 14:05:24
Current State Duration 01-01-1970 at 01:19:50
Last Host Notification N/A
Current Notification Number 0
Is This Host Flapping ? N/A
Percent State Change 1%
Est ce qu'un arrêt est programmé ? NO
Dernière mise à jour 25-08-2005 at 14:26:28
Information sur l'état de l'Host
Host Checks: YES
Host Notifications: YES
Event Handler: YES
Flap Detection: YES


comparez avec celui ci (celui qui reste en inaccessible):


Etat de l'Host PENDING
Informations sur l'état
(Not enough data to determine host status yet)
Last Status Check 01-01-1970 at 1:00:00
Status Data Age 01-01-1970 at 1:00:00
Last State Change: 01-01-1970 at 1:00:00
Current State Duration 0 y 0 d 0 m - 0:04:11
Last Host Notification N/A
Current Notification Number 0
Is This Host Flapping ? N/A
Percent State Change 1%
Est ce qu'un arrêt est programmé ? NO
Dernière mise à jour 25-08-2005 at 14:29:14
Information sur l'état de l'Host
Host Checks: YES
Host Notifications: YES
Event Handler: YES
Flap Detection: YES


Alors? Hum?!
regarder les dates...

c'est le 01-01-1970 at 1:00:00 qui mets la puce à l'oreille.
en fait, pour convertir une date, la fonction qui permet cela retient le nombre de secondes écoulées depuis le 01-01-1970.

le champs identifiant ce tepms n'est donc pas rempli pour cet host.
Il y a surement une valeur par défaut (0 je dirais) et la fonction permettant de traduire ce temps retourne donc la date correspondant à 0 secondes ecoulées depuis le début.
C'est donc le 01-01-1970.

Il n'essaye donc plus de retester la connectivité avec l'host.

J'ai vérifié, ce champs n'appartient pas à la base de données d'Oreon.
Ca doit venir de Nagios.

Si quelqu'un s'est où elle se trouve, ca m'aiderait bien

:wink:

PtitDav
25th August 2005, 15:35
Pour répondre aux 2 dernieres personnes qui ont répondu, je répéte que je n'utilise aucun service (pas de check ni quoi que ce soit) pour que oreon determine si un host est "up" "down" ou "inaccessible".

voilà 2 champs trouvés dans le fichier "staus.log" de Nagios:

[1124974154] HOST;name1;UP;1124972739;1124971528;0;1186;0;0;0;0 ;1;1;1;1;0;0.00;0;1;1;(Host assumed to be up)
[1124974154] HOST;name2;PENDING;0;0;0;0;0;0;0;0;1;1;1;1;0;0.0;0 ;1;1;(Not enough data to determine host status yet)

(j'ai remplacé mes noms de serveurs par name1 et name2, question de principe :wink: )

Vous pouvez voir que les variables de tps pour la machine qui merde sont à 0

wistof
25th August 2005, 15:42
donc si je comprends bien, ton 'check_command' pour ton host est vide ?

This directive is used to specify the short name of the command that should be used to check if the host is up or down. Typically, this command would try and ping the host to see if it is "alive". The command must return a status of OK (0) or Nagios will assume the host is down. If you leave this argument blank, the host will not be checked - Nagios will always assume the host is up. This is useful if you are monitoring printers or other devices that are frequently turned off. The maximum amount of time that the notification command can run is controlled by the host_check_timeout option.

donc il devrait être UP alors, c'est bizarre ton histoire...

PtitDav
25th August 2005, 15:46
Oui j'avais vu cette ligne.
Je vais rajouter un check command mais sur l'hote lui meme com tu le decris.

PtitDav
25th August 2005, 16:03
Bon j'ai réglé le problème.
Donc voilà la manipulation à faire si vous avez eu le même pb que moi:

- arrêter le service nagios
- éditer le fichier /usr/local/nagios/var/status.sav
- copier/coller de cette ligne:
HOST: NOM_MACHINE;0;1124974991;1;3582;0;0;0;0;1;1;0;1;1; 1;1124971508;(Host assumed to be up)
- remplacer les champs suivants dans la nouvelle ligne créée:
-> NOM_MACHINE par le nom de la machine qui vous pose problème
-> 1124974991 par un autre qui ressemble mais éviter qu'il soit indentique à un autre
-> 3582 par un autre du meme style mais surtout pas 2 identiques
-> 1124971508 par un autre qui ressemble mais éviter qu'il soit indentique à un autre
- sauvegarder la modification
- relancer le service nagios
- vérifier dans l'interface d'Oreon que l'host est bien en "UP" et qu'il s'actualise bien de tps en tps.

templuche
25th August 2005, 16:05
Bonjour,

Je reviens sur ce post pour préciser. PENDING ne signifie pas "inaccessible". Un host est en état pending quand en fait, Nagios n'a aucun moyen de déterminer l'état du serveur car il n'a pas encore la moindre information dessus (pas de check effectué). Unreachable peut être traduit par inaccessible, pas pending qui devrait être traduit plutôt par "en attente". Un host qui le message "Host assumed to be up" est un host en état OK.

Si un host n'a pas de service, il ne sera pas checké par nagios. Nagios ne checke un host si et seulement si un de ces services passe en état d'erreur. PtitDav, ce ne serait pas cela ton problème?

PtitDav
25th August 2005, 16:15
Oui oui je suis d'accord avec toi sur ce point.
Cependant, cela reste tout le tps en "pending" alors que les autres hosts, qui ont exactement la meme configuration au niveau de nagios et les memes services associés, passent bien en "up".

Tu voudrais dire que je dois provoquer une erreur pour que Nagios réalise un check sur l'host conserné?

templuche
25th August 2005, 16:28
Non, heureusement :)

Questions. Est ce que les paramètres de configuration sont exactement les mêmes? Est ce que tu as bien activé le check pour ces services? Est ce que l'interval entre 2 checks n'est pas trop long? Est ce que les services ne sont pas en mode passif uniquement? Quand est prévu le prochain scheduling des services?

PtitDav
26th August 2005, 17:37
Tout est identique...
Seules les Ip et nom de machines changent. (et heureusement :wink: )

templuche
26th August 2005, 18:55
Quand est prévu le prochain scheduling des services?
Combien as tu de machines? Combien as tu de services? As tu la même erreur sur l'interface Nagios?