zabbix利用SNMPTrap接收交换机主动告警

zabbix利用SNMPTrap接收交换机主动告警,第1张

zabbix利用SNMPTrap接收交换机主动告警

zabbix接收trap的工作流程:

  1. snmptrapd 收到trap
  2. snmptrapd将trap传递给SNMPTT或调用Perl接收器
  3. SNMPTT或Perl trap接收器解析,格式化并将trap写入文件
  4. Zabbix SNMP trap读取并解析trap文件
  5. 对于每个trap,Zabbix发现主机接口与接收的trap地址匹配的所有“SNMP trap”监控项。


    请注意,在匹配期间只使用主机接口中选定的“IP”或“DNS”。


  6. 对于每个找到的监控项,将trap与“snmptrap[regexp]”中的regexp进行比较。


    trap设置为all匹配项的值。


    如果没有找到匹配的监控项,并且有一个“snmptrap.fallback”监控项,则将trap设置为该值。


  7. 如果trap未设置为任何监控项的值,Zabbix默认记录不匹配的trap。


    (这由管理 - >常规 - >其它中的“记录不匹配的SNMP trap(Log unmatched SNMP traps)”配置。




一、安装配置snmptrapd

1、yum install -y net-snmp net-snmp-utils net-snmp-perl    #安装net-snmp及相关工具(里面包含SNMPTrapd)

2、vim /etc/snmp/snmptrapd.conf

    authCommunity   log,execute,net 团体名       #指定团体名

    traphandle default /usr/sbin/snmptthandler    #指定snmptt为trap接收器,此时还没安装snmptt

3、systemctl start snmptrapd    #启动snmptrapd

4、systemctl enable snmptrapd    #加入开机启动项

5、交换机开启snmp和snmptrap,并指定团体名和trap目标主机IP

6、tail -F /var/log/messages    #打开并跟踪日志

7、手动关闭交换机端口,触发告警,验证snmptrapd是否能正常接收trap


二、安装配置snmptt

1、yum -y install epel-release    #安装EPRL源
2、yum -y install snmptt     #安装snmptt
3、systemctl start snmptt    (启动报错:Could not load Perl module Sys::Syslog!)
4、systemctl status snmptt -l    #查看出错信息,缺少perl-syslog
5、yum -y install perl-Sys-Syslog    #安装perl-syslog
6、vim /etc/snmp/snmptt.ini    #修改配置文件

date_time_format=  %Y/%m/%d %H:%M:%S
net_snmp_perl_enable =
translate_log_trap_oid = # :数字形式显示OID,:显示OID名称,:显示OID所属模块名及其名称
log_file = /var/log/snmptt/snmptt.log #默认

7、mv /etc/snmp/snmptt.conf /etc/snmp/snmptt.conf.bak    #备份规则文件
8、vim /etc/snmp/snmptt.conf    #自定义trap格式化规则

#匹配Linkdown的规则
EVENT LinkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Warning
FORMAT ZBXTRAP $aA LinkDown on interface $. Admin state: $. Operational state: $

#匹配Linkup的规则
EVENT LinkUp .1.3.6.1.6.3.1.1.5.4 "Status Events" Normal
FORMAT ZBXTRAP $aA Linkup on interface $. Admin state: $. Operational state: $

# 默认规则,没有其他规则匹配上时,所有trap信息都按此规则处理
EVENT general .* "General event" Normal
FORMAT ZBXTRAP $aA $

9、systemctl restart snmptt
10、tail -F /var/log/snmptt/snmptt.log   #打开并跟踪snmptt日志


三、配置zabbix-server
1、vim /etc/zabbix/zabbix_server.conf

StartSNMPTrapper=   #开启SNMPTrapper功能
SNMPTrapperFile=/var/log/snmptt/snmptt.log #指定snmptt日志文件

2、systemctl restart zabbix-server  #重启Zabbix服务
3、zabbix添加监控项

匹配snmptt日志中,属于IF-MIB模块的告警(IF-MIB包含设备接口相关的管理对象,告警节点包含linkUp和linkDown)

其余没匹配上的,都匹配到键值为fallback的监控项

查看获取的trap数据


zabbix_snmptrap官方文档

https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/snmptrap

https://www.zabbix.org/wiki/Start_with_SNMP_traps_in_Zabbix

snmptt官方文档

http://www.snmptt.org/docs/snmptt.shtml

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/588338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存