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

zabbix利用SNMPTrap接收交换机主动告警的更多相关文章

  1. 【ZABBIX】SNMPtrap实现主动监控的原理与安装配置

    工欲善其事,必先利其器.作为一款强大的开源软件,Zabbix号称“Monitor Everything”,其所依赖的,很大程度上便是SNMP的数据采集支持.SNMP 协议是用来管理设备的协议,目前SN ...

  2. zabbix 利用python脚本实现钉钉告警

    Zabbix 利用python脚本实现钉钉告警 1.安装python3.6环境 2.创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts ...

  3. 关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题

    关于zabbix利用snmp协议从交换机获取的端口带宽数据的概念问题:使用端口OID号获得的数据实际是即时的端口总数据量,而在计算带宽时,需要选择一个时间段,在时间段的结束点获得的总数据量减去在时间段 ...

  4. Zabbix的SNMPTrap监控配置

    SNMPTrap监控主要用于设备发生故障时的主动通知的监控.以下简单记录下Zabbix的SNMPTrap的配置方法. 一.SNMPTrap监控的处理流程说明 1.监控对象发送SNMPTrap信息到sn ...

  5. zabbix利用自带的模板监控mysql数据库

    zabbix利用自带的模板监控mysql数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 有些东西你不会的时候觉得它特别难,但是当你去做的时候就发现如此的简单~zabbix功能 ...

  6. 19 Zabbix 利用Scripts栏目对Hosts远程执行命令

    点击返回:自学Zabbix之路 19 Zabbix 利用Scripts栏目对Hosts远程执行命令 在Monitoring板块中,有Host出现的地方,单击Host按钮后,都可以执行对Host远程执行 ...

  7. 20 Zabbix 利用Scripts栏目对Hosts远程执行命令

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 20 Zabbix 利用Scripts栏目对Hosts远程执行命令 在Monitoring板块中, ...

  8. zabbix 利用python脚本实现短信告警

    一.编写脚本 cd /usr/local/zabbix-4.0.3/share/zabbix/alertscripts vi zabbix_sms.py 内容如下: #!/usr/bin/python ...

  9. zabbix通过API创建交换机模板,ifAdminStatus;ifOperStatus;ifInUcastPkts;ifAlias

    最终效果: 目的:         通过zabbix的Latest data查看主机就可以看到其监控结果. 监控项:         # 管理状态          IF-MIB::ifAdminSt ...

随机推荐

  1. Cesium 实现粒子效果贴地(伪)

    有时我们面对这样的需求,需要在地面上放一个周期性放大缩小的标记,可以使用粒子效果实现,但是粒子效果图片很难贴地(如果你知道怎么做,欢迎分享,期待有人打我脸),我只能变通实现一个看似贴地但实际没有贴地的 ...

  2. 解决小米手机USB安装apk时AS报错:INSTALL_FAILED_USER_RESTRICTED

    今天,直接用AS在小米手机上运行安装的时候总是报错:INSTALL_FAILED_USER_RESTRICTED,于是乎,通过以下方式解决: 在开发者选项将USB安装打开,然后,哈,解决了.记录一下.

  3. sqlserver的坑

    1.今天系统出现BUG,经过两个小时的排查,发现是存储过程中的SELECT @@IDENTITY的值发生错乱,导致的系统BUG,经过百度,发现这个函数貌似和触发器有冲突,一旦插入的表有触发器的话,@@ ...

  4. 最简单的Nginx讲解--HTTP服务器、正向代理、反向代理、负载均衡

    1. Nginx 1.1 Nginx简介 Nginx是俄罗斯人开发,开源的,免费的. Nginx功能: 1) nginx作为http服务器:类似apache,tomcat,遵循http协议. a) 访 ...

  5. sdk和api的区别

    SDK SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”.这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档.范例和工具的集合都可以叫做 ...

  6. Cocos Creator 资源加载流程剖析【一】——cc.loader与加载管线

    这系列文章会对Cocos Creator的资源加载和管理进行深入的剖析.主要包含以下内容: cc.loader与加载管线 Download部分 Load部分 额外流程(MD5 Pipe) 从编辑器到运 ...

  7. Java核心技术第五章——1.类、超类、子类(2)

    继上一篇Java核心技术第五章——1.类.超类.子类(1) 6.重载解析 假如调用ClassName.Method(args) 1.编译器列出类ClassName所有名为Method的方法. 2.编译 ...

  8. window下的nginx的安装和使用

    nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 http://nginx.org/en/download.html 下载后安装在你钟 ...

  9. Mysql监控工具介绍-Monyog

    MONyog监控工具 MONyog是一个优秀的MySQL监控工具,可以实时监测MYSQL服务器,查看MySQL服务器的运行状态. 支持查询分析功能,能够轻松找出有MySQL的问题所在,此外,还可以帮助 ...

  10. 使用Identity Server 4建立Authorization Server (4)

    预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第二 ...