Anyevent::SNMP实例

  之前不知道为什么不成功.

 重新找了新环境.安装Net::SNMP和AnyevenSNMP

AnyEvent-SNMP-6.0
Net-SNMP-5.2.0
Net-SNMP-v6.0.1

Net-SNMP5.2的版本获取有问题,不过不影响使用.

use strict;

 use AnyEvent::SNMP;
 use Net::SNMP;
 use Data::Dumper;


 # just use Net::SNMP and AnyEvent as you like:

 # use a condvar to transfer results, this is
 # just an example, you can use a naked callback as well.
 my $cv = AnyEvent->condvar;
$oid=".1.3.6.1.2.1.1.1.0";
 # ... start non-blocking snmp request(s)...
 Net::SNMP->session (-hostname => "192.168.6.25",
                     -community => "public",
                     -nonblocking => 1)
                     
         ->get_request (
             -varbindlist => [ $oid ],
             -callback => sub { $cv->send (@_) }
          );

 # ... do something else until the result is required
 my @result = $cv->wait;
 
  my ($session) = @result;
 my $result = $session->var_bind_list();

      if (!defined $result) {
         printf "ERROR: Get request failed for host '%s': %s.\n",
                $session->hostname(), $session->error();
                
      }

      printf "The sysDescr for host '%s' is %s.\n",
              $session->hostname(), $result->{$oid};
#-bash-3.2$ perl aesnmp.pl
#The sysUpTime for host '192.168.6.25' is SunOS T51401OQ 5.10 Generic_138888-07 sun4v.
#-bash-3.2$


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值