zabbix利用SNMPTrap接收交换机主动告警
zabbix接收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)”配置。)
一、安装配置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
zabbix利用SNMPTrap接收交换机主动告警的更多相关文章
- 【ZABBIX】SNMPtrap实现主动监控的原理与安装配置
工欲善其事,必先利其器.作为一款强大的开源软件,Zabbix号称“Monitor Everything”,其所依赖的,很大程度上便是SNMP的数据采集支持.SNMP 协议是用来管理设备的协议,目前SN ...
- zabbix 利用python脚本实现钉钉告警
Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...
- 关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题
关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题:使用端口OID号获得的数据实际是即时的端口总数据量,而在计算带宽时,需要选择一个时间段,在时间段的结束点获得的总数据量减去在时间段 ...
- Zabbix的SNMPTrap监控配置
SNMPTrap监控主要用于设备发生故障时的主动通知的监控.以下简单记录下Zabbix的SNMPTrap的配置方法. 一.SNMPTrap监控的处理流程说明 1.监控对象发送SNMPTrap信息到sn ...
- zabbix利用自带的模板监控mysql数据库
zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...
- 19 Zabbix 利用Scripts栏目对Hosts远程执行命令
点击返回:自学Zabbix之路 19 Zabbix 利用Scripts栏目对Hosts远程执行命令 在Monitoring板块中,有Host出现的地方,单击Host按钮后,都可以执行对Host远程执行 ...
- 20 Zabbix 利用Scripts栏目对Hosts远程执行命令
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 20 Zabbix 利用Scripts栏目对Hosts远程执行命令 在Monitoring板块中, ...
- zabbix 利用python脚本实现短信告警
一.编写脚本 cd /usr/local/zabbix-4.0.3/share/zabbix/alertscripts vi zabbix_sms.py 内容如下: #!/usr/bin/python ...
- zabbix通过API创建交换机模板,ifAdminStatus;ifOperStatus;ifInUcastPkts;ifAlias
最终效果: 目的: 通过zabbix的Latest data查看主机就可以看到其监控结果. 监控项: # 管理状态 IF-MIB::ifAdminSt ...
随机推荐
- 前端笔记之HTML
前端三层:内容层(结构层)HTML.样式层(表现层)CSS.行为层JavaScript 层 语言 含义 结构层 HTML 由 HTML 或 XHTML之类的标记语言负责创建.标签,也就是那些出现在尖括 ...
- 关于web资金系统提现安全保护,防止极快的重复并发请求导致重复提现的解决思路
关于WEB金融系统中的提现安全问题很多人没有深入思想,导致有漏洞,常常会遇到有些人遇到被攻击到导资金损失的麻烦, 其实要彻底解决重复并发请求 导致重复提现问题,是需要花点心思的,并没有看起来的 ...
- Android org.json.JSONArray cannot be converted to JSONObject
今天在做Android项目移植的时候总是出现org.json.JSONArray cannot be converted to JSONObject异常,本着资源共享的理念,将异常处理过程以及引发该异 ...
- vue2.0 日历日程表 ,可进行二次开发.
由于工作业务需求,要写一个日程表,日程表写之前 要先生成日历,废话不多说,直接 上代码: <!DOCTYPE html> <html lang="zh-CN"&g ...
- AJAX快速上手和基本核心
一.快速上手AJAX 使用ajax的过程可以类比平常我们访问网页过程 1.创建一个XMLHttpRequest类型的对象------相当于打开了浏览器 var xhr = new XMLHttpReq ...
- QPainterPath 不规则提示框(二)
前一篇讲过不规则提示框,但是提示框的方向是固定的,不能达到随意变换方向的效果,本接讲述可以动态变换方向的提示框 先看效果图 图1 图2 图3 图4 如上图1所示,上一篇文章的代码可以达到类似效果 本 ...
- 干货|一文读懂 Spring Data Jpa!
有很多读者留言希望松哥能好好聊聊 Spring Data Jpa!其实这个话题松哥以前零零散散的介绍过,在我的书里也有介绍过,但是在公众号中还没和大伙聊过,因此本文就和大家来仔细聊聊 Spring D ...
- 『练手』005 Laura.SqlForever历史遗留 的 架构思想缺陷
005 Laura.SqlForever历史遗留 的 架构思想缺陷 我们 比较一下 Laura.WinFramework 和 Laura.XtraFramework 的差异: Laura.WinFra ...
- springboot~lombok使用总结
@Getter & @Setter 生成getter和setter块 @Data注解 @Data相当于@Getter @Setter @RequiredArgsConstructor @ToS ...
- Netty源码 服务端的启动
最近一直在看netty,看完之后就想做点笔记.可是实在是太忙了,挤了还要几个晚上终于挤出来了 上图是服务端的实例代码.大致的流程先梳理一遍. 首先会执行 用于创建两个线程组,boosGroup用于接受 ...