无法在 Perl 中获取扩展 SNMP 输出

发布于 2024-10-08 21:08:11 字数 1004 浏览 7 评论 0原文

我编写了一个 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";

但没有返回任何内容,我不知道为什么......没有错误或任何东西,我错过了一些愚蠢的事情吗?

希望有人可以提供帮助,因为这让我发疯:)

I have written a Perl script to put back some SNMP values, which works fine. I have now written a script on the remote server and used the extend function in SNMP to put the value from the script into SNMP.

If I run:

snmpget -v2c -c public 10.0.0.10 'NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cc_power"'

I get the result:

NET-SNMP-EXTEND-MIB::nsExtendOutput1Line."cc_power" = STRING: 544

But when I try to use my script to get the information back it doesn't get it. Here is the script:

#!/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";

but nothing is returned, and I have no idea why... no errors or anything, have I missed something stupid?

Hope someone can help as this is driving me nuts :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乖不如嘢 2024-10-15 21:08:11

我假设您使用了netsnmp snmpget。好吧,它向您隐藏了太多细节,因为它在后台加载 MIB 文档,并很好地将 OID 和 SNMP 值转换为各种用户友好的格式。

因此,下次请注意它执行的装饰并在您自己的代码中模拟它以达到相同的效果。

I assume that you used netsnmp snmpget. Well, it hides too many details from you, as it loads MIB documents in background and nicely translate OIDs and SNMP values to all kinds of user friendly formats.

So next time pay attention to what decoration it performs and simulate that in your own code to achieve the same effects.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文