Bonjour à tous, j'ai un contrôleur WiFi de type Cisco 4400 series.
Je souhaite pouvoir récupérer via snmp, la température interne de celui-ci.
L'OID qui correspond à la température est : 1.3.6.1.4.1.14179.2.3.1.13.0
J'ai déjà réussi à créer un autre script qui permet de récupérer le nombre de client connectés au total et ça fonctionne parfaitement.
Voici mon script pour récupérer la température :
Réponse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 use SNMP; $script = "check_temperature_cisco"; $script_version = "1.0"; $ARGV[0]; #hostname $ARGV[1]; #community $ARGV[2]; #SNMP version - 1 or 2c (not 3) $ARGV[3]; #warning lvl $ARGV[4]; #critical lvl $hostname = $ARGV[0]; $community = $ARGV[1]; $version = $ARGV[2]; #Merge the OIDs $oid_temperature = "1.3.6.1.4.1.14179.2.3.1.13.0"; # Create a SNMP session $session = new SNMP::Session(DestHost => $ARGV[0], Community => $ARGV[1], Version => $ARGV[2], UseEnums => 1, UseSprintValue => 1 ); die "Cannot create SNMP::Session (",$SNMP::Session::ErrorStr,")\n" if ( ! defined($session)); #Get the data from supplied OIDs using the SNMP session ($temperature)= $session->get($oid_temperature); die $session->{ErrorStr} if ($session->{ErrorStr}); print "oid_temp : $oids_temp \n"; print "OID Temperature : $oid_temperature \n"; print "Temperature actuelle : $temperature \n"; }
perl ./check_temperature_cisco.pl 172.31.6.123 snmpeclille 2 10 20
oid_temp : SNMP::VarList=ARRAY(0xa0ce958)
OID Temperature : 1.3.6.1.4.1.14179.2.3.1.13.0
Temperature actuelle : No Such Object available on this agent at this OID
Mon problème est que, lors de l'exécution du script, au lieu de m'afficher en réponse la température actuelle, j'ai la réponse : No Such Object available on this agent at this OID" alors que si j'affiche l'OID pour y accéder, j'ai bien le bon OID.
Si je tente en "dur" la commande snmpwalk avec cet OID là, j'ai bien en réponse la bonne valeur :
snmpwalk 172.31.6.123 -c public -v 2c 1.3.6.1.4.1.14179.2.3.1.13.0
Réponse :
SNMPv2-SMI::enterprises.14179.2.3.1.13.0 = INTEGER: 39
Quelqu'un saurait-il pourquoi dans le script il ne trouve rien à cet OID ?
Merci d'avance pour votre aide !
Edit : Résolu ! J'avais seulement omis de mettre des crochets à la ligne :
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part ($temperature)= $session->get($oid_temperature);
J'espère quand même que cela pourra aider certaines personnes aussi étourdies que moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part ($temperature)= $session->get([$oid_temperature]);![]()








Répondre avec citation
Partager