我编写了一个 Perl 脚本来放回一些 SNMP 值,它工作正常。我现在已经在远程服务器上编写了一个脚本,并使用 SNMP 中的扩展函数将脚本中的值放入 SNMP。
如果我运行:
snmpget -v2c -c public 10.0.0.10 'NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cc_power"'
我得到结果:
NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cc_power" = STRING: 544
但是当我尝试使用我的脚本来获取信息时,它没有得到它。这是脚本:
#!/usr/bin/perl
use strict;
use SNMP;
use RRDs;
my $rrd_db = "/storage/db/rrd/cc_power.rrd";
my $sess;
my $val;
my $error;
$sess = new SNMP::Session(DestHost => "10.0.0.10", Community => "public", Version => 2);
my $power = $sess->get('NET-SNMP-EXTEND-MIB::nsExtendOutput1Line.\"cc_power\"');
$error=RRDs::error;
die "ERROR while updating RRD: $error\n" if $error;
my $date=time;
print "Data Script has been run - Output: ${date}:${power}\n";
但没有返回任何东西,我不知道为什么......没有错误或任何东西,我错过了什么愚蠢的东西吗?
希望有人可以提供帮助,因为这让我发疯:)