zabbix6.0接收snmptrap,触发告警,解析trap信息

1.配置snmptrap
安装snmp相关工具

yum install -y net-snmp*

官网下载源码,复制misc/snmptrap/zabbix_trap_receiver.pl,确认其中SNMPTrapperFile路径并授权

vim /usr/bin/zabbix_trap_receiver.pl
$SNMPTrapperFile = '/tmp/zabbix_traps.tmp';
chmod a+x /usr/bin/zabbix_trap_receiver.pl

配置zabbix服务器的snmptrap配置并启动(以团体字为public为例)
vim /etc/snmp/snmptrapd.conf

authCommunity log,execute,net public
perl do "/usr/bin/zabbix_trap_receiver.pl"
systemctl restart snmptrapd
systemctl enable snmptrapd
systemctl status snmptrapd

配置zabbix服务器的zabbix_server.conf配置。启动snmptrap,修改SNMPTrapperFile,保持与zabbix_trap_receiver.pl中一致

StartSNMPTrapper=1
SNMPTrapperFile=/tmp/zabbix_traps.tmp
systemctl restart zabbix-server
systemctl status zabbix-server

zabbix服务器防火墙放开snmptrap端口

firewall-cmd --permanent --zone=public --add-service=snmptrap
firewall-cmd --reload

snmptrap测试
zabbix服务器上测试

snmptrap -v 2c -c public 127.0.0.1 '' .1.3.6.1.2.1.33.1.6.3.21 .1.3.6.1.2.1.33.1.6.3.21 s 'snmptrap test-v2'

客户端测试

snmptrap -v 2c -c public zabbix-ip '' .1.3.6.1.2.1.33.1.6.3.21 .1.3.6.1.2.1.33.1.6.3.21 s 'snmptrap test-v2'
snmptrap -v 1 -c public zabbix-ip 1.3.6.1.2.1.33 zabbix-ip 6 0 999 1.3.6.1.2.1.33.1.6.3.21 s  snmptrap-test-v1

验证

tail /tmp/zabbix_traps.tmp

2.配置告警
创建触发器,只要接受到新的trap信息就触发告警

触发器名称	snmptrap event
表达式	length(last(/<...模板名称...>/snmptrap.fallback))>0
允许手动关闭

3.解析trap信息(以RFC1628.MIB为例)
确定mib文件路径

net-snmp-config --default-mibdirs
/root/.snmp/mibs:/usr/share/snmp/mibs

将RFC1628.MIB文件上传至/usr/share/snmp/mibs,格式可以保持RFC1628.MIB,也可以RFC1628-MIB.txt.

snmptrap此时仍未解析,客户端测试(其中.1.3.6.1.2.1.33.1.6.3.21=upsAlarmAwaitingPower):

snmptrap -v 1 -c public zabbix-ip 1.3.6.1.2.1.33 zabbix-ip 6 0 999 1.3.6.1.2.1.33.1.6.3.21 s  snmptrap-test-v1

zabbix告警数据:

SNMPv2-SMI::mib-2.33.1.6.3.21  type=4  value=STRING: "snmptrap-test-v1"

修改snmptrapd配置文件

vim /usr/lib/systemd/system/snmptrapd.service
ExecStart=/usr/sbin/snmptrapd $OPTIONS -f -m /usr/share/snmp/mibs/RFC1628.MIB

重启snmptrapd

systemctl restart snmptrapd

客户端重新测试,zabbix告警数据可以看到upsAlarmAwaitingPower字段

UPS-MIB::upsAlarmAwaitingPower type=4  value=STRING: "snmptrap-test-v1"

附:RFC1628 Trap

TRAPS Description Comments
upsAlarmBatteryBad 电池故障 .1.3.6.1.2.1.33.1.6.3.1
upsAlarmOnBattery 电池模式 .1.3.6.1.2.1.33.1.6.3.2
upsAlarmLowBattery 电池低告警 .1.3.6.1.2.1.33.1.6.3.3
upsAlarmDepletedBattery 电池未接或电池耗尽 .1.3.6.1.2.1.33.1.6.3.4
upsAlarmTempBad 温度异常 .1.3.6.1.2.1.33.1.6.3.5
upsAlarmInputBad 输入异常 .1.3.6.1.2.1.33.1.6.3.6
upsAlarmOutputBad 输出异常 .1.3.6.1.2.1.33.1.6.3.7
upsAlarmOutputOverload 输出过载 .1.3.6.1.2.1.33.1.6.3.8
upsAlarmOnBypass 旁路模式 .1.3.6.1.2.1.33.1.6.3.9
upsAlarmBypassBad 旁路异常 .1.3.6.1.2.1.33.1.6.3.10
upsAlarmOutputOffAsRequested 按要求的UPS输出关闭 .1.3.6.1.2.1.33.1.6.3.11
upsAlarmUpsOffAsRequested 按要求的UPS系统关闭 .1.3.6.1.2.1.33.1.6.3.12
upsAlarmChargerFailed 充电故障 .1.3.6.1.2.1.33.1.6.3.13
upsAlarmUpsOutputOff UPS输出关闭 .1.3.6.1.2.1.33.1.6.3.14
upsAlarmUpsSystemOff UPS系统关闭 .1.3.6.1.2.1.33.1.6.3.15
upsAlarmFanFailure 风扇故障 .1.3.6.1.2.1.33.1.6.3.16
upsAlarmFuseFailure 保险丝熔断或故障 .1.3.6.1.2.1.33.1.6.3.17
upsAlarmGeneralFault UPS故障 .1.3.6.1.2.1.33.1.6.3.18
upsAlarmDiagnosticTestFailed 测试诊断失败 .1.3.6.1.2.1.33.1.6.3.19
upsAlarmCommunicationsLost 通讯失败 .1.3.6.1.2.1.33.1.6.3.20
upsAlarmAwaitingPower 市电异常 .1.3.6.1.2.1.33.1.6.3.21
upsAlarmShutdownPending 关机延迟 .1.3.6.1.2.1.33.1.6.3.22
upsAlarmShutdownImminent 立即关机 .1.3.6.1.2.1.33.1.6.3.23
upsAlarmTestInProgress 电池测试中 .1.3.6.1.2.1.33.1.6.3.24
emdTemperatureTooHigh 温度过高 .1.3.6.1.2.1.33.1.6.3.26
emdTemperatureTooLow 温度过低 .1.3.6.1.2.1.33.1.6.3.27
emdHumidityTooHigh 湿度过高 .1.3.6.1.2.1.33.1.6.3.28
emdHumidityTooLow 湿度过低 .1.3.6.1.2.1.33.1.6.3.29
emdAlarm1Active 告警一使能 .1.3.6.1.2.1.33.1.6.3.30
emdAlarm2Active 告警二使能 .1.3.6.1.2.1.33.1.6.3.31
读故障不是读上面的每个OID,而是读右边两个 upsAlarmDescr告警描述 .1.3.6.1.2.1.33.1.6.2.1.2
upsAlarmTime告警时间 .1.3.6.1.2.1.33.1.6.2.1.3

来源链接:https://www.cnblogs.com/kingslayermeto/p/18717714

请登录后发表评论

    没有回复内容