Zabbix监控系统系列之十二:SNMP Traps主动告警

======= 系列目录 =======
Zabbix监控系统系列之一 : Server部署
Zabbix监控系统系列之二 : 初始化配置
Zabbix监控系统系列之三 :版本升级
Zabbix监控系统系列之四:Agent监控Windows客户端
Zabbix监控系统系列之五:SNMP监控Windows客户端
Zabbix监控系统系列之六:EMAIL警告配置
Zabbix监控系统系列之七:VMware虚拟化监控
Zabbix监控系统系列之八:日志监控
Zabbix监控系统系列之九:监控网络设备指定接口流量
Zabbix监控系统系列之十:自动发现配置
Zabbix监控系统系列之十一:拓扑图绘制
Zabbix监控系统系列之十二:SNMP Traps主动告警
Zabbix监控系统系列之十三:SNMP Mibs库加载
Zabbix监控系统系列之十四:Oracle监控
Zabbix监控系统系列之十五:自动发现Oracle表空间并监控
======================

SNMPTrap监控主要用于设备发生故障时的主动通知的监控,比如存储监控硬盘故障、网络监控抖动;它的特点如下:
1、事件驱动,第一时间收到设备故障告警
以事件为驱动,由被监控的主机、网络设备、应用在发生故障时向NMS发送SNMP Trap,通过对接收到的SNMP Trap进行翻译和展现,以最快速度向管理人员发送告警。SNMP Trap不同于SNMP的主动采集,SNMP采集服务器按照固定的时间间隔,由网管系统以询问的方式,采集被监控端性能指标,因此发现被监控端性能问题的快慢取决于采集的频率间隔。而SNMP Trap是以事件为驱动,在被监控端设置陷阱,一旦被监控端设备出现相关问题,立刻发送SNMP Trap,因此能够在最短的时间内发现故障,避免因为设备故障带来的经济损失。
2、提供SNMPTrap的接收,并通过对Trap信息翻译,展现事件
支持设备,主机和应用的SNMP Trap信息,从被动变为主动,全面监控IT系统。通过对SNMP Trap的翻译和展现,一旦某个IT组件出现问题,可以在短时间之内,即可收到故障信息,满足企业的快速发现问题的需要。
通过SNMPTrap的接收规则定义,管理员可以过滤非重要设备的Trap信息,也可以过滤被监控设备的非重要故障信息,帮助管理员在第一时间收到真正需要的管理信息。
3、定制SNMPTrap告警规则触发告警,提供多种方式发送告警信息
用户通过管理端定制需要告警的SNMP Trap信息,针对特定SNMP Trap事件通过邮件、短信、语音、微信等方式向相关人员发送报警,帮助管理人员快速收到IT系统故障信息。
4、支持事件导出
汇总特定时间内特定SNMPTrap事件,同时可以以Excel格式导出事件数据,便于管理人员对故障信息进行统计和分析。
5、支持各类设备厂家MIB库的导入
虽然国内各种网络设备都支持SNMP Trap,但是各个厂家的MIB库并不能很好的支持公共标准,因此,很多监控系统都支持私有MIB库的导入,确保能够全面兼容各个厂家设备的SNMP Trap信息。
Zabbix监控系统系列之十二:SNMP Traps主动告警_第1张图片
整个流程说明大体如下:
1.监控对象发送SNMPTrap信息到snmptrapd(Net-SNMP)服务器,
2.snmptrapd服务器将接收到的SNMPTrap信息发送给SNMPTT(或者Perl trap receiver),
3.SNMPTT(或者Perl trap receiver)将按照指定的数据格式将SNMPTrap信息写入SNMPTrapperFile,
4.Zabbix服务器的snmptrapper进程将读取SNMPTrapperFile的内容,对其进行解析,将值传递给对应的监控对象,并保存数据到DB。

※ 如果trap未设置为任何监控项的值,Zabbix默认记录不匹配的trap。(通过Administration → General → Other中的“Log unmatched SNMP traps”配置。)

[配置步骤]
Zabbix 功能配置:

-- 部署Net-SNMP组件
yum -y install net-snmp*
systemctl enable snmptrapd.service

-- SNMP Trap配置
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.15/zabbix-3.4.15.tar.gz
tar zxvf zabbix-3.4.15.tar.gz

cp /root/zabbix-3.4.15/misc/snmptrap/zabbix_trap_receiver.pl /usr/bin/zabbix_trap_receiver.pl
chmod +x /usr/bin/zabbix_trap_receiver.pl

echo "# Modify by Eric.zhong at 20190904" >> /etc/snmp/snmptrapd.conf
echo authCommunity execute public >> /etc/snmp/snmptrapd.conf
echo perl do "/usr/bin/zabbix_trap_receiver.pl"; > /etc/snmp/snmptrapd.conf
tail -n 10 /etc/snmp/snmptrapd.conf
※ 如果需要接受更多的验证,可以追加单独的[authCommunity execute zhong]配置

echo "# Modify by Eric.zhong at 20190904" >> /etc/zabbix/zabbix_server.conf
echo StartSNMPTrapper=1 >> /etc/zabbix/zabbix_server.conf
echo SNMPTrapperFile=/tmp/zabbix_traps.tmp >> /etc/zabbix/zabbix_server.conf
tail -n 10 /etc/zabbix/zabbix_server.conf

systemctl restart  zabbix-server
systemctl restart snmptrapd.service

-- SNMP Trap测试
snmptrap -v 1 -c public 127.0.0.1 '.1.3.6.1.6.3.1.1.5.4' '0.0.0.0' 6 33 '55' .1.3.6.1.6.3.1.1.5.4 s "eth0"

cat /tmp/zabbix_traps.tmp
16:26:16 2019/09/04 ZBXTRAP 127.0.0.1
PDU INFO:
  notificationtype               TRAP
  version                        0
  receivedfrom                   UDP: [127.0.0.1]:43411->[127.0.0.1]:162
  errorstatus                    0
  messageid                      0
  community                      public
  transactionid                  4
  errorindex                     0
  requestid                      0
VARBINDS:
  DISMAN-EVENT-MIB::sysUpTimeInstance type=67 value=Timeticks: (55) 0:00:00.55
  SNMPv2-MIB::snmpTrapOID.0      type=6  value=OID: IF-MIB::linkUp.0.33
  IF-MIB::linkUp                 type=4  value=STRING: "eth0"
  SNMP-COMMUNITY-MIB::snmpTrapCommunity.0 type=4  value=STRING: "public"
  SNMPv2-MIB::snmpTrapEnterprise.0 type=6  value=OID: IF-MIB::linkUp

Zabbix监控对象配置:
ITEM有两种方式:

  • SNMPTrap[regexp] :将trap与监控项“snmptrap[regexp]”中的正则表达式进行匹配,将匹配到的trap设为该监控项的值。
  • SNMPTrap.fallback :如果没有找到匹配的监控项且存在“snmptrap.fallback”监控项,则将trap设置为“snmptrap.fallback”的值。
    Zabbix监控系统系列之十二:SNMP Traps主动告警_第2张图片
    触发器
    Zabbix监控系统系列之十二:SNMP Traps主动告警_第3张图片

监控结果
Zabbix监控系统系列之十二:SNMP Traps主动告警_第4张图片
Zabbix监控系统系列之十二:SNMP Traps主动告警_第5张图片

Zabbix监控系统系列之十二:SNMP Traps主动告警_第6张图片

你可能感兴趣的:(Zabbix)