使用Zabbix的SNMP trap监控类型监控设备的一个例子
本文以监控绿盟设备为例。
1.登录被监控的设备的管理系统,配置snmptrap地址指向zabbix服务器或代理服务器。
snmptrap地址也叫陷阱。
2.验证是否能在zabbix服务器或代理服务器上收到设备的trap信息。(可跳过,遇到问题后再检查)
ip add
查看设备的网卡名称
tcpdump -i ens160 src 192.166.16.8
查看ens160 网卡收到的IP为192.166.16.8的设备的数据包
效果如下图:

没有tcpdump命令的话,可以使用命令yum -y
install tcpdump 进行安装。
3.配置zabbix_trap_receiver.pl脚本
在zabbix 服务器或者代理服务器上,复制源码目录中的Perl脚本到 /usr/bin目录下并赋予执行权限
再安装net-snmp,命令如下:
cp `find / -name zabbix_trap_receiver.pl` /usr/bin
chmod a+x /usr/bin/zabbix_trap_receiver.pl
yum -y install net-snmp*
效果如下图:

注意:如果最后snmptrapd启动失败,提示缺少/usr/share/snmp/snmp_perl_trapd.pl文件,原因是net-snmp相关的安装包安装太少,建议更换yum安装源。
4.找到snmptrapd的配置文件并修改
vi /etc/snmp/snmptrapd.conf
添加代码
disableAuthorization yes
perl do "/usr/bin/zabbix_trap_receiver.pl"
disableAuthorization yes 表示不认证,接收所有团体名(community)的 trap信息
authCommunity execute public 表示只接收团体名(community)为 public 的 trap信息,可以写多行
修改完成后重启snmptrapd服务
service snmptrapd restart
或
systemctl restart snmptrapd
注意一段时间后观察snmptrapd状态是否正常,时间久的话可以看到收到了设备发出的trap包
service snmptrapd status
或
systemctl status snmptrapd

5.在zabbix服务器上修改zabbix_server.conf文件以下两处:
StartSNMPTrapper=1
SNMPTrapperFile=/tmp/zabbix_traps.tmp
(注:最后一行的路径必须跟 /usr/bin/zabbix_trap_receiver.pl脚本中设置的路径相同)
修改完成后重启zabbix_server服务
service zabbix_server restart
或
systemctl restart zabbix_server
6.在zabbix服务器上配置监控主机,添加监控项。
效果如图所示:

监控项:
名称:snmptrap.fallback
类型:SNMP trap
键值:snmptrap.fallback
信息类型:日志
日志时间格式:hh:mm:sszyyyy/MM/dd
解析:
键值为snmptrap.fallback,可以接受所有未配置的trap监控项。
7.查看监控主机的最新数据。
在最新数据里选择被监控的主机,点击snmptrap.fallback的历史记录

如下图,在此处可以看到被监控设备发出的trap信息,但是从OID上不能明显看出对应的信息,因此需要为net-snmp添加mib文件。

8.在zabbix服务器或代理服务器上添加mib文件。
net-snmp-config
--default-mibdirs 命令可以看到mib文件位置,如下:
[root@mgmtmonitorweb02 ~]# net-snmp-config --default-mibdirs
/root/.snmp/mibs:/usr/share/snmp/mibs
[root@mgmtmonitorweb02 ~]#
cd /usr/share/snmp/mibs 打开存储mib文件的目录
ls 可以看到自带的mib文件,此处WAFV6-MIB.txt是我找厂商售后索取的mib文件

9.在zabbix服务器或代理服务器上应用mib文件。
vi /etc/snmp/snmp.conf 修改此配置文件
mibs +ALL 在文件中添加此行,意思是应用mib文件目录下的所有mib文件

解析:
mibs +后面可以填写mib文件的名字,如mibs +WAFV6-MIB,需要注意的是“+”号后直接加文件名,不可出现空格,否则会有错误。
修改完成后重启snmptrapd服务
service snmptrapd restart
或
systemctl restart snmptrapd
重启注意后观察snmptrapd状态是否正常,时间久的话可以看到收到了设备发出的trap包。
service snmptrapd status
或
systemctl status snmptrapd
此时可以看到,OID的名字已经发生改变。

10.在zabbix服务上验证最新数据是否发生改变。

此时可以看到OID不再是数字,而是比较容易识别的英文名字,此名字可在mib文件中修改,但不能以中文命名。
11.如果需要分类trap信息,可以如下图配置监控项。

注意:此时键值snmptrap[]的[]内不再是填写数字OID,而是监控项snmptrap.fallback获取到的mib文件里定义的名字,
如:snmptrap[WAFV6-MIB::alert-level]
参考资料:
http://www.lwops.cn/forum.php?mod=viewthread&tid=74&extra=&_dsign=8bd9d823&tdsourcetag=s_pctim_aiomsg
http://blog.chinaunix.net/uid-20469830-id-1943491.html
https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/snmptrap
使用Zabbix的SNMP trap监控类型监控设备的一个例子的更多相关文章
- (转)浅谈 Linux 系统中的 SNMP Trap
原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前, ...
- 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据
前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...
- zabbix通过SNMP监控服务器硬件及构建触发器
公司的服务器没装系统无法使用IPMI协议来监控服务器硬件信息,所以我们使用SNMP来获取,下面介绍如何通过SNMP监控服务器硬件信息. 1.HP服务器进入iLO开启SNMP协议. 2.查看服务器温度信 ...
- zabbix系列之监控类型及方式
http://www.ttlsa.com/zabbix/how-to-chose-zabbix-item-type/ zabbix提供十几种监控类型: 监控类型 特性 备注 Zabbix agent ...
- (82)zabbix如何选择适合的监控类型
zabbix提供十几种监控类型,包括:Zabbix agent, Simple checks, SNMP, Zabbix internal, IPMI, JMX monitoring等等,那我们应该如 ...
- (70)zabbix telnet监控类型
概述 zabbix监控的方式很多,例如前面讲到的agent.snmp以及后续后续要讲到ssh和今天要讲到的telnet.流程很简单,创建item-->配置ip.用户.密码.端口.脚本->z ...
- (11)zabbix item types监控类型
1. 什么是item types item types是由zabbix提供的各种类型的检查器(这样翻译很奇怪),大致就是Zabbix agent, Simple checks, SNMP, Zabbi ...
- 技巧:结合Zabbix与SNMP监控嵌入式设备
在如何利用Zabbix监控网络设备三篇文章的前两篇中,我们介绍了如何通过Zabbix代理监控网络设备.但有些设备无法安装Zabbix代理,需要采用其他方法监控.需要考虑无法安装软件的嵌入式设备或应用程 ...
- zabbix如何选择适合的监控类型(107)
zabbix agent zabbix自带的客户端程序(被动模式),zabbix server主动向它收集监控数据.agent提供丰富的key,包括不限于cpu.内存.网络.磁盘.web等等.如果你不 ...
随机推荐
- 微信小程序 动态加载class
<view class=' {{topid==1?"top": "untop"}}' >
- 基于swoole的聊天室模型
client.html: <!doctype html><html><head> <meta charset="utf-8"> &l ...
- Data Binding Android - Type parameter T has incompatible upper bounds : ViewDataBinding and MainAct
Go to your "some_layout.xml" Click right -> Refactor -> Rename (or SHIFT + F6) Renam ...
- 使用 kubeadm 安装部署 kubernetes 1.9-部署heapster插件
1.先到外网下载好镜像倒进各个节点 2.下载yaml文件和创建应用 mkdir -p ~/k8s/heapster cd ~/k8s/heapster wget https://raw.githubu ...
- 单片机C程序优化
单片机C程序优化 对程序进行优化,通常是指优化程序代码或程序执行速度.优化代码和优化速度实际上是一个予盾的统一.一般是优化了代码的尺寸,就会带来执行时间的增加:如果优化了程序的执行速度,通常会带来代码 ...
- 以登录实现理解Servlet+jsp+JavaBean开发
写在前面:菜鸟拙见,望请纠正 学过servlet的都知道,书本上一直说servlet一直作为控制器使用,它不实现view层,也不做具体的事务处理,那servlet到底是干什么的哪?怎么合理的用它呐?? ...
- layui水平导航条三级
需求 需要做一个顶部的水平导航条,有三级,展开的时候二级和三级一起展开,结果如图: 效果 一级菜单 二级标题 三级菜单 三级菜单 二级标题 三级菜单 三级菜单 一级菜单 二级标题 三级菜单 ...
- PHP中查询一个日期是周几
PHP查询一个日期是周几 1.date('l'),获取的是英文的星期几.Sunday 到 Saturday date('l', strtotime('2019-4-6')); // Saturday ...
- python 3.x 实现简单用户登录
import os import sys import getpass login_username = 'admin' login_password = ' u = 0 while u < 3 ...
- 【转】Nginx 反向代理 负载均衡 虚拟主机配置
原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...