SNMPTrap监控主要用于设备发生故障时的主动通知的监控,比如存储监控硬盘故障、网络监控抖动;
整个流程说明大体如下:
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”的值。
触发器
监控结果
来源:https://blog.csdn.net/weixin_38623994/article/details/100541890