记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Centos7/RHEL7 安装zabbix4.2,监控华为S6700交换机方案



具体如何安装LAMP或LNMP环境,然后安装zabbix4.2 这里就不再说了。可以看本博客的其它文章。


一、安装SMNP软件。


yum install -y net-snmp net-snmp-utils

利用snmpwalk工具来查看华为交换机相关的MIB信息。


1,查看交换机的端口描述与OID关系,找到自己需要监控的端口。
这里我需要监控 XGigabitEthernet0/0/45-48与Eth-Trunk1端口


[root@zabbixserver ~]# snmpwalk -v2c -c HaNanSwitch -On 111.43.165.1 ifDescr


.1.3.6.1.2.1.2.2.1.2.52 = STRING: XGigabitEthernet0/0/47
.1.3.6.1.2.1.2.2.1.2.53 = STRING: XGigabitEthernet0/0/48
.1.3.6.1.2.1.2.2.1.2.54 = STRING: 40GE0/0/1
.1.3.6.1.2.1.2.2.1.2.55 = STRING: 40GE0/0/2
.1.3.6.1.2.1.2.2.1.2.60 = STRING: Vlanif200
.1.3.6.1.2.1.2.2.1.2.61 = STRING: Eth-Trunk1


2,查看端口的出口OID信息
[root@zabbixserver ~]# snmpwalk -v2c -c HaNanSwitch -On 111.43.165.1 ifHCOutOctets

.1.3.6.1.2.1.31.1.1.1.10.50 = Counter64: 1672801388477899
.1.3.6.1.2.1.31.1.1.1.10.51 = Counter64: 1679011920768835
.1.3.6.1.2.1.31.1.1.1.10.52 = Counter64: 1672421786661095
.1.3.6.1.2.1.31.1.1.1.10.53 = Counter64: 1678671294629370
.1.3.6.1.2.1.31.1.1.1.10.54 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.55 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.60 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.10.61 = Counter64: 6702910141177261



3,查看华为S6700交换机入口流量的OID信息。


[root@zabbixserver ~]# snmpwalk -v2c -c HaNanSwitch -On 111.43.165.1 ifHCInOctets


.1.3.6.1.2.1.31.1.1.1.6.50 = Counter64: 488970600461674
.1.3.6.1.2.1.31.1.1.1.6.51 = Counter64: 502972789510106
.1.3.6.1.2.1.31.1.1.1.6.52 = Counter64: 489186554891878
.1.3.6.1.2.1.31.1.1.1.6.53 = Counter64: 503803901094985
.1.3.6.1.2.1.31.1.1.1.6.54 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.55 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.60 = Counter64: 0
.1.3.6.1.2.1.31.1.1.1.6.61 = Counter64: 1984934656736540


这里需要知道,查看的都是64位Counter64的OID信息。如果查看32位的ifInOctets与ifOutOctets信息那么
流量大时就会出问题,zabbix在出图时,会出现时断时续的情况,具体原因看下面说明:


Zabbix通过snmp监控Nexus7K流量时,之前经常出现出图很不稳定的情况。我先对zabbix以及snmp是怎么来监控流量的做个简单的说明:
Zabbix:只是负责从自身配置中的snmp部分拿到数据绘图、告警等等。
Snmp:通过snmp协议拿到数据给zabbix。

之前的现象是:当流量高的时候,绘图就会出现落差很大的现象,于是我在zabbix监控机上对snmp获取的值做了一个监控。发现其现象为只要获取的数值超过4293662940、4293662940、4294816070这几个数就会出现拐点,数值立刻从一个比较低的值开始一点点加大。

现象的原理:这是snmp计数器的机制,如果溢出了,则清0重新记录。另外,如果是count32的话,最大支持的值是2^32=4G,也就是说超过4G,交换机snmp计数器自动溢出,然后从0开始重新计数。而zabbix如果item的save as设置的为speed per second的时候,对于此类情况的操作方法为:如果本次获取到的值比上次小,那么不存储这次的差,直接忽略掉,等下次的差值。


处理的办法:

首先、我先判断交换机支不支持把64位的数据吐出来:
snmpwalk -v2c -c dangdang 10.4.0.1 ifHCInOctets 吐出来的数值有效,说明是支持的。

第二、既然交换机能吐出来,那一定是我们抓的不对:

原有的获取流量的id为:.1.3.6.1.2.1.2.2.1.16.437280768
.1.3.6.1.2.1.2.2.1.16这个是32位的,所以会出现一到4G左右就重置,这是由于snmp数值溢出了。




查看监控模板统计交换机的端口流量是不是用的32位计数器。
监控交换机流量一般通过OID获取端口流量计数,统计前后2次的增量。
注意:端口的流量是一个累加值,即是从其加电工作开始到取数时,流经其的流量,因此这个数值是 一直增加的。
以cisco 2960为例
32位计数器:
ifInOctets 进
OID .1.3.6.1.2.1.2.2.1.10

ifOutOctets 出
OID .1.3.6.1.2.1.2.2.1.16

64位计数器:
ifHCInOctets 进
OID .1.3.6.1.2.1.31.1.1.1.6

ifHCOutOctets 出
OID .1.3.6.1.2.1.31.1.1.1.10

对于32位计数,端口流量大约跑到4.3G,计数器会清零,重新开始计数。
获取OID的命令
snmpget -v 2c -c public -On 192.168.1.1 ifHCInOctets
snmpget -v 2c -c public -On 192.168.1.1 ifInOctets

获取端口名称
snmpwalk -v 2c -c public 192.168.1.1 ifname
获取端口流量计数器
snmpwalk -v 2c -c public 192.168.1.1 ifInOctets
snmpwalk -v 2c -c public 192.168.1.1 ifHCInOctets


二,下面是具体添加监控信息。


1,添加一个 新的主机组。





2,添加主机信息。




3,添加需要监控的端口信息。根据自己的端口情况填写,这个是入口端口信息,单位信息可以不添加。



4,添加进程信息,这里注意。





5,再添加一个出口的信息,可以克隆信息,根据情况修改下OID信息与名称。





三,添加一个图形监控,将两个监控项目添加进去。




经查看已经正常出图,图中乱码是因为没有更换字体,忽略。




转载请标明出处【Centos7/RHEL7 安装zabbix4.2,监控华为S6700交换机方案】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论