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
没有回复内容