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配置模板自动发现功能自动识别网络设备的所有接口,并且获取所有接口的流量值,生成图形的过程就就完成了!写在这里供大家参考!

时间: 2024-10-19 21:25:59

zabbix批量添加SNMP监听H3C端口检测以及流量图的相关文章

16.4 配置Tomcat监听80端口;16.5、16.6、16.7配置Tomcat的虚拟主机(上中下);16.8 Tomcat日志

扩展: 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26bdd0100gwpk.html resin安装 http://fangniuwa.blog.51cto.com/10209

普通用户从非80端口启动tomcat,通过端口转发监听80端口

linux下小于1024的端口都需要root去绑定. root权限启动tomcat是不明智的,可以使用非root权限启动tomcat监听8080端口,然后利用端口转发实现对80端口的监听. 端口转发: # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 -A PREROUTING 添加新规则-p 检查tcp协议--dport 80 指定目标端口-j REDIRECT 目标跳转--to-prot

apache 使用心得(启动多实例,单实例监听多端口,单实例监听多域名)

很久之前就手动配置过apache了,今天遇到一个需要在阿里云服务器上配置apache路由多个域名到不同的服务器根目录这样的问题,研究了一段时间,得出了下面的心得,分享给大家~ *以windows系统为例子 下面要会说到的内容: 1 开启多个apache实例,监听多个端口(作用就是方便读取不同的配置文件) 2 单个apache实例监听多个端口 3 单个apache实例监听一个端口(80),实现不同域名访问80端口的时候,指向不同的服务器根目录 1 开启多个apache实例 httpd.exe -k

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志

16.4 配置Tomcat监听80端口 16.5/16.6/16.7 配置Tomcat虚拟主机 16.8 Tomcat日志 扩展 邱李的tomcat文档 https://www.linuser.com/forum.php?mod=forumdisplay&fid=37 JAR.WAR包区别 http://blog.csdn.net/lishehe/article/details/41607725 tomcat常见配置汇总 http://blog.sina.com.cn/s/blog_4ab26b

Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志

配置Tomcat监听80端口 1.配置Tomcat服务的访问端口 Tomcat默认启动的端口是8080,如果你想修改为80,则需要修改server.xml文件. [[email protected] src]# vim /usr/local/tomcat/conf/server.xml 按如下需求更改: 找到Connector port="8080" protocol="HTTP/1.1"修改为Connector port="80" protoc

配置Tomcat监听80端口、配置Tomcat的虚拟主机、日志配置

配置Tomcat监听80端口 编辑配置文件vim /usr/local/tomcat/bin/startup.sh 搜索关键字:Connector port ,将8080修改为80 更改完后保存退出,并且重启服务/usr/local/tomcat/bin/shutdown.sh/usr/local/tomcat/bin/startup.sh 这是可以查看tomcat监听的端口是否为80netstat -lntp |grep java 配置Tomcat的虚拟主机 编辑配置文件vim /usr/lo

Tomcat监听443端口的方法

当我们需要更安全的访问网站的时候就会选择使用https协议,而https协议默认的端口号为443端口,这就是我们为什么向让Tomcat监听在443端口的原因,因为监控在非80端口和443端口的web服务都需要指定端口号来访问,这无疑会影响用户的体验. 但是,我们如果直接在Tomcat的配置文件中将监听的端口号定义为443或1024以下的端口时,会报以下的错误. Jul 19, 2017 10:36:05 PM org.apache.catalina.startup.Catalina start

javascript面向对象--观察者模式(为对象添加事件监听功能)

正文开始之前,有这么一个需求: >背景:宁静的夜晚,一天晚上,狗蛋(主人)睡得正香,侠盗高飞(小偷)突然造访. >事件:高飞正准备下手的时候,不料被旺财(狗)发现了,于是旺财叫了起来,狗蛋醒了,高飞逃走了. 分析需求后,可以发现有三个对象: 高飞(小偷) 旺财(狗) 狗蛋(主人) 创建对象的构造函数以及原型方法 //人的构造函数 function Person(name){ this.name=name; //首次创建实例时,为Person的原型添加共有的方法 if(!Person.proto

NetworkComms 通信框架 V3 之监听多端口

NetworkComms通信框架V3版本 支持服务器端程序同时监听多端口 使用示例代码如下: SendReceiveOptions sendReceiveOptions = new SendReceiveOptions<NullSerializer>(); //本地IP端点 List<EndPoint> localIPEndPoints = new List<EndPoint>(); //本地 监听器 List<ConnectionListenerBase>