Published using Google Docs
script-perl-net-snmp-get.pl
Updated automatically every 5 minutes

# modulos necessarios para o funcionamento do script

use Data::Dumper;

use strict;

use Net::SNMP;

# populando uma lista com os OIDs que queremos coletar

my @oids = qw/1.3.6.1.2.1.1.3.0 1.3.6.1.2.1.1.5.0 1.3.6.1.2.1.1.6.0/;

# criando a sessão de coleta SNMP

my ($session, $error) = Net::SNMP->session(

        -hostname  => 'localhost',

        -port      => '161',

        -community => 'public',

        );

# estrutura de controle

if (!defined $session) {

        printf "ERROR: %s.\n", $error;

        exit 1;

}

# coletando de fato as informações

my $result = $session->get_request(

        -varbindlist => \@oids,

        );

# finalizando a sessão SNMP

$session->close();

# estrutura de controle caso não tenhamos conseguido coletar

#informacoes

if (!defined $result) {

        printf "ERROR: %s.\n", $session->error();

        $session->close();

        exit 1;

}

# imprimindo informacoes

print "Referencia do Hash: $result\n";

print "Conteudo do hash\n";

print Dumper \%{$result};

# percorrendo a lista de OIDs e imprimindo seus valores

print "\nConteudo da coleta SNMP\n";

foreach my $oid (@oids) {

        chomp($oid);

        print "$oid\t$result->{$oid}\n";

}

# saindo do script

exit 0;