本文是笔者学习net-snmp开发包时的心得,由于那个官方网站的东西比较乱,所以写一个总结,希望后来者少走些弯路
Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。
它包括agent和多个管理工具的源代码,支持多种扩展方式。不仅扩展了获取方式,而且对于数据类型也有一定的扩展。Net-SNMP不仅提供了管理工具,还提供了一些开发配置工具,这些工具一般使用perl语言的脚本提供:主要包括mib2c、net-snmp-config等。上面所说的两个工具方便开发者进行开发
一,trap的用途
TRAP是提供从代理进程到管理站的异步报告机制。
为了使管理站能够及时而又有效地对被管理设备进行监控,同时又不过分增加网络的通信负载,必须使用陷入(TRAP)制导的轮讯过程。代理进程负责在必要时 向管理站报告异常事件,得到异常事件的报告后,管理站可以查询有关的代理,以便得到更具体的信息,对事件的原因做进一步的分析
二,trap的工作流程
1,agent端:
《!--[if !supportLists]--》A, 《!--[endif]--》编写mib文件,确定好trap名称等信息。
《!--[if !supportLists]--》B, 《!--[endif]--》命令方式:发送各种trap命令(manager地址后面一定要加端口号162),在manager端看反应结果,在agent端无反应
《!--[if !supportLists]--》C, 《!--[endif]--》自动触发:配置snmpd.conf设置触发trap,系统发生某类错误时会自动触发相应类型的trap,发送给manager
《!--[if !supportLists]--》D, 《!--[endif]--》程序方式:一部份trap需要写c语言程序,用相应的api(send_easy_trap 或 send_v2trap)发送
2,manager端:
《!--[if !supportLists]--》A, 《!--[endif]--》配置snmptrapd.conf文件,设置访问权限
《!--[if !supportLists]--》B, 《!--[endif]--》将mib导入到mibs文件夹中
《!--[if !supportLists]--》C, 《!--[endif]--》用perl等脚本语言编写处理trap的程序
《!--[if !supportLists]--》D, 《!--[endif]--》配置snmptrapd.conf文件,添加traphandler项,将不同的trap对应到不同的处理程序上
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !