目录
一、Trap与Inform
SNMP Inform Requests功能允许路由器向SNMP管理器发送通知请求。
路由器可以在发生特定事件时向SNMP管理器发送通知。例如,代理路由器可能在自身遇到错误情况时向管理器发送消息。通知有两种格式:Trap和Inform。
Trap是不可靠的,因为接收器在收到Trap时不发送任何确认。发件人无法确定是否收到了Trap。但是,接收Inform请求的SNMP代理使用SNMP response PDU确认该消息。如果代理未收到Inform请求,则不会发送回复。如果发送方从未收到响应,则可以再次发送Inform请求。因此,Inform更有可能到达其预期目的地。
因为它们更可靠,所以Inform在路由器和网络中消耗更多资源。与Trap一起发送时丢弃的Trap不同,必须在内存中保留Inform请求,直到收到响应或请求超时。此外,Trap仅发送一次,而Inform可能会重试几次。重试会增加流量并导致网络上的开销增加。因此,Trap和Inform请求提供了可靠性和资源之间的权衡。如果SNMP管理器收到每个通知很重要,请使用Inform请求。另一方面,如果您担心网络上的流量或路由器中的内存,并且您不需要接收每个通知,请使用Trap。
二、Trap
SNMP Trap是SNMP的一部分,当被监控段出现特定事件,可能是性能问题,甚至是网络设备接口宕掉等,代理端会给管理站发告警事件。通过告警事件,管理站可以通过定义好的方法来处理告警。
1、Agent端工作流程
①编写MIB文件,确定好TRAP名称等信息(一般MIB设备厂商会提供)
②命令方式:发送各种TRAP命令(Manager地址后面一定要加端口号162),在Manager端看反应结果,在Agent端无反应
③自动触发:配置snmpd.conf设置触发TRAP,系统发生某类错误时会自动触发相应类型的TRAP,发送给Manager
④程序方式:一部份TRAP需要写C语言程序,用相应的api(send_easy_trap或send_v2trap)发送