- 论坛徽章:
- 0
|
我从昨天中午就开始看 官方文档。你所给的链接我都看过。并且很认真的看了一天了。如果他的例子一下子就能跑起来,我也不用费劲来这里问。
论坛只在半个小时前搜了一下。
我知道我比较笨,但请不要认为我是白痴。
好,牢骚就发到这里。我还是得解决具体的问题。
我现在得让这个模块跑起来,所以写的越简单越好。我参考 Embedded agent example 写了一段。
use NetSNMP::agent;
my $agent;
sub myhandler {
my ($handler, $registration_info, $request_info, $requests) = @_;
my $request = $requests;
my $value = "OK";
$request->setValue(ASN_OCTET_STR, $value);
}
$agent = new NetSNMP::agent(
'Name' => 'lvs'
);
$agent->register("lvs", ".1.3.6.1.4.1.8072.9999.9999.7375",
\&myhandler);
$agent->main_loop(); |
我现在是这么理解的。$agent->register 定义了名字和 oid。并且等待 &myhandler 的返回作为 snmp 的输出。
$request->setValue 则定义了输出的值以及值的类型。
my ($handler, $registration_info, $request_info, $requests) = @_; 其实是给 snmpd 用的,他接受了 C 传递过来的东西。在这里我先不去考虑他。
我直接将返回值定义为了 "OK"
不过这段还是没有能run起来。
[root@cacti ~]# snmpwalk -c tvu -v2c 172.16.1.200 .1.3.6.1.4.1.8072.9999.9999.7375
NET-SNMP-MIB::netSnmpPlaypen.7375 = No Such Object available on this agent at this OID
不知道问题出在了哪里,这个东西讨厌的是,没有log可以看。
非常感谢版主的帮助。
[ 本帖最后由 latteye 于 2008-12-5 13:08 编辑 ] |
|