net-snmp trap实现小结(转)  2009-05-20 17:12
分类:默认分类
字号:    
net-snmp trap实现小结 (2009-03-26 14:47:39)
标签:杂谈 
trap终于实现了,哈哈。。。总结了以下几点:
1. 在该代理中系统自带一些trap,有coldstart、warmstart、linkdown、linkup、shutdown,这些我不知道全不全。当开启关闭snmpd时,会发送coldstart和shutdown trap。其他的我并没有检验。。。下面这几行是在snmpd.conf中配置的,作用是当有trap触发时,代理端会自动发该trap。
# send v1 traps
    trapsink              192.168.0.3:162  public
    # also send v2 traps
    trap2sink            192.168.0.3:162  secret
  # send traps on authentication failures
  authtrapenable  1
2. 在管理端的snmptrapd.conf中也应该有一些配置
 
authcommunity execute|log|net public 设置所有用户的访问权限:可执行,记录,传递
这一行使得管理端可以接收trap,必不可少的。。。
 
在管理端还可以对发过来的trap进行处理,在snmptrapd.conf中添加这样的语句traphandle .1.3.6.1.6.3.1.5.1            page_me up
在page_me脚本文件中写命令行处理(这个我没做)
 
3. 自定义trap实现:
(1)自定义trap的mib文件,这部分在《snmp学习笔记之一trap》中有具体介绍。
(2)将自定义的mib加载到树上,这里和之前自定义的mib加载到树上一样,不过区别是用到mib2c -c mib2c.notify.conf XXX.txt xxx这种形式的工具,生成.c和.h文件,对.c文件修改加触发条件,还可以加相关信息.
(3)用--with-mib-modules="xxx"    重新配置编译安装。
(4)安装完之后即可开启snmptrapd了,命令行为./ snmptrapd –d –f –Lo,开启成功会显示:      NET-SNMP version 5.4.2.1(版本不同显示有区别)
(5)当代理端也开启的话,管理端会有开启信息显示(coldstart);要验证以上自定义trap,以自己设置情况而定,以下是我检验的步骤:
snmpset –v 2c –c public 192.168.0.2 ledvalue.0 i 1
当我将led设置为1时,即可自动发回trap信息。