本文以监控绿盟设备为例。

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监控类型监控设备的一个例子的更多相关文章

  1. (转)浅谈 Linux 系统中的 SNMP Trap

    原文:https://www.ibm.com/developerworks/cn/linux/l-cn-snmp/index.html 简介 本文讲解 SNMP Trap,在介绍 Trap 概念之前, ...

  2. 分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据

    前文我们了解了zabbix的被动.主动以及web监控相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14024212.html:今天我们来了解下zabb ...

  3. zabbix通过SNMP监控服务器硬件及构建触发器

    公司的服务器没装系统无法使用IPMI协议来监控服务器硬件信息,所以我们使用SNMP来获取,下面介绍如何通过SNMP监控服务器硬件信息. 1.HP服务器进入iLO开启SNMP协议. 2.查看服务器温度信 ...

  4. zabbix系列之监控类型及方式

    http://www.ttlsa.com/zabbix/how-to-chose-zabbix-item-type/ zabbix提供十几种监控类型: 监控类型 特性 备注 Zabbix agent ...

  5. (82)zabbix如何选择适合的监控类型

    zabbix提供十几种监控类型,包括:Zabbix agent, Simple checks, SNMP, Zabbix internal, IPMI, JMX monitoring等等,那我们应该如 ...

  6. (70)zabbix telnet监控类型

    概述 zabbix监控的方式很多,例如前面讲到的agent.snmp以及后续后续要讲到ssh和今天要讲到的telnet.流程很简单,创建item-->配置ip.用户.密码.端口.脚本->z ...

  7. (11)zabbix item types监控类型

    1. 什么是item types item types是由zabbix提供的各种类型的检查器(这样翻译很奇怪),大致就是Zabbix agent, Simple checks, SNMP, Zabbi ...

  8. 技巧:结合Zabbix与SNMP监控嵌入式设备

    在如何利用Zabbix监控网络设备三篇文章的前两篇中,我们介绍了如何通过Zabbix代理监控网络设备.但有些设备无法安装Zabbix代理,需要采用其他方法监控.需要考虑无法安装软件的嵌入式设备或应用程 ...

  9. zabbix如何选择适合的监控类型(107)

    zabbix agent zabbix自带的客户端程序(被动模式),zabbix server主动向它收集监控数据.agent提供丰富的key,包括不限于cpu.内存.网络.磁盘.web等等.如果你不 ...

随机推荐

  1. 微信小程序 动态加载class

    <view class=' {{topid==1?"top": "untop"}}' >

  2. 基于swoole的聊天室模型

    client.html: <!doctype html><html><head> <meta charset="utf-8"> &l ...

  3. 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 ...

  4. 使用 kubeadm 安装部署 kubernetes 1.9-部署heapster插件

    1.先到外网下载好镜像倒进各个节点 2.下载yaml文件和创建应用 mkdir -p ~/k8s/heapster cd ~/k8s/heapster wget https://raw.githubu ...

  5. 单片机C程序优化

    单片机C程序优化 对程序进行优化,通常是指优化程序代码或程序执行速度.优化代码和优化速度实际上是一个予盾的统一.一般是优化了代码的尺寸,就会带来执行时间的增加:如果优化了程序的执行速度,通常会带来代码 ...

  6. 以登录实现理解Servlet+jsp+JavaBean开发

    写在前面:菜鸟拙见,望请纠正 学过servlet的都知道,书本上一直说servlet一直作为控制器使用,它不实现view层,也不做具体的事务处理,那servlet到底是干什么的哪?怎么合理的用它呐?? ...

  7. layui水平导航条三级

    需求 需要做一个顶部的水平导航条,有三级,展开的时候二级和三级一起展开,结果如图: 效果 一级菜单 二级标题   三级菜单 三级菜单 二级标题   三级菜单 三级菜单 一级菜单 二级标题   三级菜单 ...

  8. PHP中查询一个日期是周几

    PHP查询一个日期是周几 1.date('l'),获取的是英文的星期几.Sunday 到 Saturday date('l', strtotime('2019-4-6')); // Saturday ...

  9. python 3.x 实现简单用户登录

    import os import sys import getpass login_username = 'admin' login_password = ' u = 0 while u < 3 ...

  10. 【转】Nginx 反向代理 负载均衡 虚拟主机配置

    原文:http://www.cnblogs.com/itdragon/p/8059000.html Nginx 反向代理 负载均衡 虚拟主机配置 通过本章你将学会利用Nginx配置多台虚拟主机,清楚代 ...