SNMP 値を元に戻す Perl スクリプトを作成しましたが、これは正常に機能します。リモート サーバーにスクリプトを記述し、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";
しかし、何も返されず、理由がわかりません...エラーも何もありません。愚かなことを見逃しましたか?
これが私を狂わせているので、誰かが助けてくれることを願っています:)