Bonjour,
Debutant en Perl, je dois effectuer des requetes SNMP vers un switch pour recuperer certaines valeurs via la MIB Cisco. Cette partie se passe assez bien puisque la connection a l'air de fonctionner, mais je ne parvient pas a afficher les informations lu (par exemple la bande passante de l'interface, ou la temperature etc...). Si je regarde le contenu de la variable "result", elle contient 0 ou 1, ce qui correspond au retour de la commande a ce que j'ai pu comprendre.
Comment faire pour connaitre la valeur de la donnee que je check ?
voici le code :
Ici un :
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 #! /usr/local/bin/perl use strict; use warnings; use Net::SNMP; my $OID = '1.3.6.1.2.1.2.2.1.5'; my ($session, $error) = Net::SNMP->session( -version => 'snmpv2c', -nonblocking => 1, -hostname => shift || '192.168.90.100', -community => shift || 'public', -port => shift || 161 ); my $result = $session->get_request(-varbindlist => [$OID],); if(!defined $result){ printf "ERROR: %s.\n", $session->error(); $session->close(); exit 1; } $session->close(); exit 0;
me renvoit la valeur 0 ou 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part print $result;
et si je tente un :
j'obtient l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part print $result->{$OID};
la ligne 24 etant la ligne correspondant auCan't use string ("1") as a HASH ref while "strict refs" in use at /root/workspace/Plugin Nagios/test_SNMP2.pl line 24.Quelqu'un peut-il m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part print $result->{$OID};
En vous remerciant,
Michon
Partager