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关键字,你 ...
随机推荐
- 掌握所有编程语言不是梦-转自csdn
还在讨论哪种编程语言最具价值?还在头疼怎么快速掌握新的语言?本文给出了一劳永逸的办法:掌握所有编程语言不是梦. 以下为译文: 我想在这里讨论的不是如何掌握一门编程语言,而是掌握所有的编程语言. 许多初 ...
- golang多核的使用
实际上协程只是发生在单个进程内部的,要是想充分的发掘多核CPU的潜力,还是需要多进程的支持. 对于多核编程,go是天生支持,那么我们在什么情况下应该用多核心来加速程序,而在什么情况下用单核即可呢? 现 ...
- Linux文件IO与通用块层的请求合并
本文参考https://mp.weixin.qq.com/s/Imt4BW-zoHPpcOpcKZs_AQ, 公众号“Linux阅码场” 请求合并就是将进程内或者进程间产生的在物理地址上连续的多个IO ...
- linux makefile (English)
############################################################################## Generic Makefile for ...
- ubuntu下设置电脑为WiFi热点
这是个问题 自从Windows奔溃以来! 扔掉360:Linux下无线网卡作WiFi路由器
- BZOJ4481: [Jsoi2015]非诚勿扰【概率期望+树状数组】
Description [故事背景] JYY赶上了互联网创业的大潮,为非常勿扰开发了最新的手机App实现单身 大龄青年之间的"速配".然而随着用户数量的增长,JYY发现现有速配的算 ...
- BZOJ4310: 跳蚤 【后缀数组+二分】
Description 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究.首先,他会把串 分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典 ...
- Centos(linux)下的Python
Centos(linux)下安装python3(python2和python3共存) yum -y install lrzsz 首先安装lrzsz工具,lrzsz是一款在linux里可代替ftp上传和 ...
- WPF 带CheckBox、图标的TreeView(转)
在WPF实际项目开发的时候,经常会用到带CheckBox的TreeView,虽然微软在WPF的TreeView中没有提供该功能,但是微软在WPF中提供强大的ItemTemplate模板功能和自定义样式 ...
- map和jsonObject 这2中数据结构之间转换
前台写json直接是:var array = [ ] ; 调用方法:array[index],若是对象,再[“key”] var obj = {''a'':123 , "b":&q ...