zabbix批量添加SNMP监听H3C端口检测以及流量图
由于之前网络设备不是很多,监控网络设备接口就直接使用模版中的item来实现了,可是现在公司上线了一大批网络设备,如果要每个网络设备都做模板,添加item。。。。。。那就该废了,于是迫于压力今天来测试使用zabbix的自动发现功能实现自动发现网络设备接口,并且自动获取接口的流量值,生成流量图等功能。
这样的话就能节省大量时间,时间就是生命啊,把时间浪费在枯燥的添加网络接口的工作上就是在浪费生命!好了,废话不多说,进入正题:
首先,在交换机上面配置好snmp协议,为了简单,这里目前使用的是snmp v2协议。这里就不赘述snmp v2协议在交换机上怎么配置了,之前的博客中都介绍了怎么配置好SNMP V3协议的交换机配置,snmp v2协议配置更加简单。
配置好后交换机的snmp v2协议后需要在zabbix服务器上面使用snmpwalk命令测试看是否能获取到数据。命令如下:snmpwalk -v 2c -c xxx 10.1.1.1 ifDescr其中的xxx就是在交换机中设置的snmp的团体名。
(这里我使用的是getif软件,可以直接获取交换机的mib文件,如下图:
)
测试能获取到数据后接下来就要在zabbix服务端的web页面上创建模板了。首先进入组态---》模板中创建模板,如下图:
之后填写模版名称,如下图: 
创建好模版后开始创建应用集:给应用集取个名字叫interface discovery
然后就要开始创建发现规则了,点击探索规则,创建发现规则,如下图:
下面就要配置发现规则了:
注意,如果是zabbix3.0以上的版本,SNMP OID这里要写 discovery[{#SNMPVALUE},.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr]

上图中的被涂掉的地方就是配置snmp v2团体名,键值使用ifDescr,这个snmp OID能够获取到交换机的所有接口名称。获取到名称后,自动发现规则就能够产生两个JSON格式的数据,一个是{#SNMPVALUE}:对应的里面的数据是接口名称;还有一个是{#SNMPINDEX}:对应的里面的数据是接口的id。还漏了一个知识点,其中的数据更新间隔中我设置了30秒,默认是3600秒,这个值得大小将直接影响自动发现规则发现设备的时间。
知道这些后就要开始配置项目原型了,废话不多说,直接看图:
这里填写有点问题,我们的H3C交换机的接口的in方向OID为.1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX},跟下面的截图形式有点不一样。
交换机的接口的out方向OID为.1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX},跟下面的截图形式有点不一样。 大家注意下。
上面红箭头表示的都是要注意的地方,其中$1表示的就是{#SNMPVALUE}的值,下面的自定倍数和单位就不用解释了,换算成bps的速率。这样接口的in方向流量自动发现规则就配置完成了,按相同方式配置接口的out方向的流量自动发现规则就好了。
如果这里还是报错 ,大家可以到这里查看报错信息是啥?
下面开始定义自动发现的生成图形,先上图: 
点击图形原型,添加原型,将刚刚创建的两个项目原型添加进去就可以了,这样,一个简单的自动发现规则就这样配置完了。下面将交换机添加进来,操作步骤如下图:
,使用这个模板就能够自动发现交换机的所有接口,并自动获取交换机的所有接口流量,生成图形!
生成图形的效果如下图所示:

上面的所有接口都是自动发现出来的!
至此,我们的zabbix配置模板自动发现功能自动识别网络设备的所有接口,并且获取所有接口的流量值,生成图形的过程就就完成了!写在这里供大家参考!
zabbix批量添加SNMP监听H3C端口检测以及流量图的更多相关文章
- 普通用户从非80端口启动tomcat,通过端口转发监听80端口
linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: ...
- Oracle 11g RAC 环境下单实例非缺省监听及端口配置
如果在Oracle 11g RAC环境下使用dbca创建单实例数据库后,Oracle会自动将其注册到缺省的1521端口及监听器.大多数情况下我们使用的为非缺省监听器以及非缺省的监听端口.而且在Orac ...
- 剥开比原看代码03:比原是如何监听p2p端口的
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...
- linux: 获取监听指定端口的进程PID
在 linux 下经常需要杀死(重启)监听某端口的进程, 因此就写了一个小脚本, 通过 ss 命令获取监听制定端口的进程 PID, 然后通过 kill 命令结束掉进程: #!/bin/sh # set ...
- 【网络通信】服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么?
1. 服务器端Socket监听80端口,建立连接传输数据时也是使用的80端口么? 答:对.建立连接时服务器会分配一个新的Socket,但是用的源端口号还是80端口.套接字是由协议类型.源IP.目的IP ...
- python socketserver监听多端口多进程
多进程监听多端口 # 多线程socket # 程序监听两个端口,端口逻辑相同其中一个端口放在子进程下 # 每次请求会在产生一个进程处理请求 import SocketServer from multi ...
- 如何查找php-fpm监听的端口
1. 找到php的安装位置.如: /usr/local/php-7.3.3 2. 进入安装目录下的etc/php-fpm.d目录,然后你会看到: 3. 打开www.conf,搜索listen关键字,你 ...
随机推荐
- 利用 gulp 来合并seajs 的项目
gulp-seajs-transport 和 gulp-seajs-concat这两个gulp插件 gulp-seajs-transpor 这个插件这样是给每个js模块 标示 模块名称 gulp-se ...
- 优化cocos2d/x程序的内存使用和程序大小
本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/1043.html ☞ ...
- Java实现交换两个String
在Java中我们所使用的实例变量其实都是一个引用,所以如果要求实现一个swap(String A, String B)这种函数时无法实现的,因为在类方法的定义中是先对行参进行地址传递,然后对形参修改, ...
- LCD常用接口原理概述
Android LCD(5) 平台信息:内核:linux2.6/linux3.0系统:android/android4.0 平台:samsung exynos 4210.exynos 4412 .e ...
- [转]如何将文件夹式的项目源码导入Visual Studio
原文:https://blog.csdn.net/yangdashi888/article/details/73323419 1.把源码目录拷贝到工程目录下 2.这时在vs的目录列表里是看不到这个目录 ...
- Linux下mysql操作
1.linux下MYSQL的启动与访问 http://www.cnblogs.com/hunter007/articles/2251795.html 2.linux下mysql基本的操作 http:/ ...
- FreeOpcUa compile
/********************************************************************************* * FreeOpcUa compi ...
- chapter02 svm对手写体数字的数码图像进行识别
#coding=utf8 # 从sklearn.datasets里导入手写体数字加载器. from sklearn.datasets import load_digits # 从sklearn.cro ...
- 【java编程】正确重写hashCode和equesl方案
一. 正确书写hashCode的办法: [原则]按照equals( )中比较两个对象是否一致的条件用到的属性来重写hashCode(). {1}. 常用的办法就是利用涉及到的的属性进行线性组合. {2 ...
- WPF中使用BitmapImage处理图片文件(转)
(1)图片从文件导入 BitmapImage image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri(filen ...