Problème timeout snmpget

semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007 - 31 juil. 2007 à 11:32
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007 - 1 août 2007 à 16:29
Bonjour,

J'ai un souçi avec le timeout de la fonction snmpget. J'ai un serveur apache2/PHP5 sur une Debian 4.0. Les modules snmp sont installés et activés, de ce côté, aucun problème à signaler.

Le problème est le suivant. Si j'utilise la fonction ce cette manière:

$status = snmpget($ip,$community,$OID);

J'ai bien une réponse du switch que j'interroge. Cependant, si j'active un timeout de cette façon:

$status = snmpget($ip,$community,$OID,10);

J'ai systématiquement un "no response". Le problème ne vient donc pas de l'installation de snmp (je peux récupérer toutes les infos de mon switch sans timeout, vitesse d'un port, vlans, état, ect... en ligne de commande tout fonctionne également à merveille) mais visiblement de la fonction en elle-même. Sous un environnement de dev windows (easyphp 1.8), je n'ai aucun problème, le timeout fonctionne. J'ai testé avec différentes valeurs de timeout, de 1 à 1000.

Alors je pourrais me passer de timeout mais non. J'utilise cette fonction pour retourner les informations de plusieurs switchs et elle est usitée à l'intérieur d'une classe. En fait, je développe un outil de gestion des baies de brassage et du matos qu'elles contiennent, tout cela couplée évidemment à une base de données. Vu qu'il s'agit d'une appli intranet, j'essaye d'avoir le meilleur contrôle d'erreurs possible. Si la configuration du switch n'est pas bonne ou que ce dernier n'est pas en ligne, il faut que l'affichage des switchs se poursuive. Le timeout m'est donc indispensable.

J'ai fait une recherche appronfondie sur le net et je n'ai rien trouvé concernant ce cas bien précis. En fouillant sur les manuels PHP, je n'ai rien trouvé de special. Si mes fonctions snmp ne marchaient pas du tout, je voudrais bien mais là c'esy uniquement avec un timeout.

Si vous avez des idées où un début de réponse je suis preneur. Je demanderai par contre aux non-habitués de snmp avec php de s'abstenir, j'ai besoin d'une personne connaissant le protocole.

Merci beaucoup par avance

5 réponses

semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
31 juil. 2007 à 14:58
Bon, je suis un peu déçu et en même temps étonné de ne voir personne de qualifié pour répondre. Tant pis, merci quand même.
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
31 juil. 2007 à 16:52
Bonjour,
ton timeout et trop petit :

tridman
21-Nov-2006 11:48

The timeout is in micro seconds. Thus 1.000.000 means 1 Second.

cf php.net


_Marikou
0
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
1 août 2007 à 14:55
J'ai essayé donc avec un timeout de 1000000 est effectivement, cela fonctionne. Cependant, si la requête est effectuée sur un switch inexistant, ça pédale indéfiniment. Pourquoi faire une requête sur un switch inexistant me direz-vous? Pour gérer le contrôle d'erreurs et ne pas empêcher le chargement de la page (et donc des switchs qui eux fonctionnent). Or j'ai toujours le même problème, en précisant que sous windows je ne l'avais pas.
0
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
1 août 2007 à 16:15
Bonjour,
Toujours trouvé depuis php.net

Eduardo
12-Apr-2007 09:30

The online documentation says that the function returns "FALSE" on error but, actually, it returns NULL on error.

----------->Regarde les commentaires des mecs qui ont testé les fonctions snmp  car malheuresement elles font partie des fonctions peu documentées.

Si t'arrives toujours pas a  avoir d'erreur, règle le timeout avec une bonne majoration ca reste une solution boiteuse mais elle a le merite de fonctionner.


_Marikou
0

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

Posez votre question
semifer Messages postés 40 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 26 septembre 2007
1 août 2007 à 16:29
Merci pour tes réponses, je vais voir ce que je peux faire avec ça :). Si je trouve une solution, je la posterai ici pour les autres.
0
Rejoignez-nous