SNMPTrap监控主要用于设备发生故障时的主动通知的监控。以下简单记录下Zabbix的SNMPTrap的配置方法。
一、SNMPTrap监控的处理流程说明
1.监控对象发送SNMPTrap信息到snmptrapd(Net-SNMP)服务器,
2.snmptrapd服务器将接收到的SNMPTrap信息发送给SNMPTT(或者Perl trap receiver),
3.NMPTT(或者Perl trap receiver)将按照指定的数据格式将SNMPTrap信息写入SNMPTrapperFile,
4.Zabbix服务器的snmptrapper进程将读取SNMPTrapperFile的内容,对其进行解析,将值传递给对应的监控对象,并保存数据到DB。
二、zabbix上snmptrap流程
接收SNMP trap与查询支持SNMP的设备相对。
在这种情况下,信息是从支持SNMP的设备发送的,由Zabbix收集或“trapped”。
通常情况下发送trap是发生变化并且代理连接到端口162上的服务器(而不是用于查询的代理端的端口161)。 使用trap可以检测在查询间隔期间发生的一些可能被查询数据丢失的短期问题。
在Zabbix中接收SNMP trap旨在使用snmptrapd和内置机制之一来传递trap到Zabbix - 一个perl脚本或SNMPTT。
接收trap的工作流程:
snmptrapd 收到trap
snmptrapd将trap传递给SNMPTT或调用Perl接收器
SNMPTT或Perl trap接收器解析,格式化并将trap写入文件
Zabbix SNMP trap读取并解析trap文件
对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的所有“SNMP trap”监控项。请注意,在匹配期间只使用主机接口中选定的“IP”或“DNS”。
对于每个找到的监控项,将trap与“snmptrap[regexp]”中的regexp进行比较。 trap设置为all匹配项的值。如果没有找到匹配的监控项,并且有一个“snmptrap.fallback”监控项,则将trap设置为该值。
如果trap未设置为任何监控项的值,Zabbix默认记录不匹配的trap。(这由管理 - >常规 - >其它中的“记录不匹配的SNMP trap(Log unmatched SNMP traps)”配置。)
我们一般使用SNMPTT来收集
三、zabbix上snmtraped和snmptt配置
3.1配置snmptraped
sudo apt intall snmptraped #ubuntu yum install net-snmp #centos注意使用epel源
编辑/etc/snmp/snmptrapd.conf,添加SNMPTT作为trap处理程序:
添加“traphandle default snmptt”
完成配置后,添加启动服务
3.2配置snmpTT
sudo apt install snmptt #ubuntu yum install snmptt #centos 注意使用epel源
编辑vim /etc/snmp/snmptt.ini,配置输出文件和时间格式
vim /etc/snmp/snmptt.ini log_file = /var/log/snmptt/snmptt.log #指定日志文件 date_time_format = %H:%M:%S %Y/%m/%d #制定时间格式
安装完默认设置好
配置数据处理格式
编辑snmptt.conf - 定义默认trap格式
vim /etc/snmp/snmptt.conf EVENT general .* "General event" Normal FORMAT ZBXTRAP $aA $ar
同样默认设置好
启动服务
3.3 zabbix_server.conf文件配置
编辑/etc/zabbix/zabbix_server.conf,添加 配置Zabbix启动SNMP trap并设置trap文件
vim /etc/zabbix/zabbix_server.conf StartSNMPTrapper=1 SNMPTrapperFile=/var/log/snmptt/snmptt.log systemctl restart zabbix-server
4.创建监控项并测试
创建一个SNMP监控项测试:
Host's SNMP interface IP: 127.0.0.1:161
Key: snmptrap["snmptrap.fallback"]
Log time format: hh:mm:ss yyyy/MM/dd
如下所示
在zabbix服务器上发送snmptrap进行测试
转载于:https://blog.51cto.com/11555417/2287685