阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Zabbix 监控思科交换机3750 端口流量

123次阅读
没有评论

共计 3550 个字符,预计需要花费 9 分钟才能阅读完成。

这次讲 2 个小小知识点,一个关于监控交换机端口流量,一个关于 store value。

一.监控交换机端口流量

目前互联网上生产环境当中的交换机监控文档。故此做一个完整,中间在穿插讲其中一个重点知识。算是还 zabbix 一个清白吧。!!!本次我拿生产环境 Cisco 3750 交换机做演示!!!(只有 3750,,没有其他产品)

ZABBIX 的详细介绍 :请点这里
ZABBIX 的下载地址 :请点这里

相关阅读:

安装部署分布式监控系统 Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm

《安装部署分布式监控系统 Zabbix 2.06》http://www.linuxidc.com/Linux/2013-07/86942.htm

CentOS 6.3 下 Zabbix 安装部署 http://www.linuxidc.com/Linux/2013-05/83786.htm

Zabbix 分布式监控系统实践 http://www.linuxidc.com/Linux/2013-06/85758.htm

CentOS 6.3 下 Zabbix 监控 apache server-status http://www.linuxidc.com/Linux/2013-05/84740.htm

CentOS 6.3 下 Zabbix 监控 MySQL 数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm

配置步骤:

1. 配置交换机 SNMP

#configure terminal

(config)#snmp-server community test ro 建立一个用户为 test,权限为只读

(config)#snmp-server traps enable 允许将所有 SNMP Trap 信息发送

(config)#snmp-server host 10.0.0.1 version 2c test 10.0.0.1 接受交换机所发送过来

的 SNMPTrap 信息

(config)#snmp-server trap-source loopback0 使用 loopback0 接口的 IP 地址作为 SNMP

Traps 发送源地址

2. 创建自定义模板

首先是需要获取 Cisco 3750 SNMP 对应 OID,OID 这个我就放在文档最下面了。

这里我就讲端口进出流量监控,举 1 个端口例子,其他照搬即可。

打个比方我现在想监控 G1/0/5 端口进出流量,该这么做呢。?

先要获取根据对应 OID 直接获取数据,同时去判断获得数据单位。

G1/0/5 端口进流量

snmpwalk -v 2c -c test 10.0.0.254 1.3.6.1.2.1.2.2.1.10.10105

IF-MIB::ifInOctets.10105 = Counter32: 1663553768

G1/0/5 端口出流量

snmpwalk -v 2c -c test 10.0.0.254 1.3.6.1.2.1.2.2.1.16.10105

IF-MIB::ifOutOctets.10105 = Counter32: 2288654478

这里开始讲第一个问题,之前群里有人提出 zabbix 监控交换机端口流量不行。不建议使用 zabbix 监控交换机流量。而是采用 cacti,其实 cacti 也有问题,只是你没碰见而已!!!原因在于 cacti 监控的数据比 zabbix 监控的数据大。两边不一致。回到正题

其实监控交换机端口流量,注意 2 个细节就好。

1. 抽取出来数据单位,是 bit 还是 bytes。

这关心到创建 items 配置问题。咿,上面的数据没有单位,你让我咋找呢。?我这里单位默认是 bytes。这样就涉及到单位换算问题了。

在 cacti 一般采用单位是 bit/sec(bps),如果在 zabbix 里设置单位也是 bps。而不经过计算。那么毫无意外 zabbix 数据比 cacti 相差 8 倍 +。

为什么这样呢。?因为单位不对等!!!Bytes 和 bit 完全不对等。如果想要对等,在 bytes

基础上乘以 8,这样就对了。为什么乘以 8 呢。?因为 bytes = 8bit 怎么让 zabbix 取出来的数据而乘以 8 呢。?在创建 items 里有个选项是 Use custom multiplier。你在这里面添上 8 即可。等下回贴个 items 图。方便大家更明白。

2.store value 问题

上面做好,还需要修改 store value,就是 Delta(speed per second),这个值对应 cacti 里的 counter,这样问题就解决了。

具体算法是:(当前取值 - 上一次取值)/ (当前时间 - 上一次时间)

上面得到的结果然后存储在数据库中,然后 WEB 端展现。。

这里顺便讲下我之前遇到的问题。某天老大对我提出一个要求,nginx 请求图做的更好点,而不是显示上次是 1W 请求,这次取值是 2W 请求。而是显示当前与上次值之差,也就是变化部分。当时,不知道怎么搞呀。愁啊。造成的影响就是 zabbix 细节方面没 cacti 好啊。其实不然,是俺没学到家!!!泥煤,自从有了 store value,和烦恼说北北啊!!

回到主题,刚那个小故事,就是我们可以利用 store value 里的 Delta(speed per second),实现两次取值之间变化部分。达到 cacti 那种效果。关于 store value 大家还是详细看下官方解释:https://www.zabbix.com/documentation/2.0/manual/config/items/item  扯了这么多。来实际的吧。直接创建 items

Zabbix 监控思科交换机 3750 端口流量

基于上面创建 items 设置,基本上流量不会出现问题了。其他端口照葫芦画瓢就好了。

好吧,我还漏了一个问题。细心看文档的,有没有发现 SNMP 取出来的值是否有问题呢。?

在回顾下

IF-MIB::ifOutOctets.10105 = Counter32: 2288654478

这里所说的问题呢?不是值不对,而是 Counter32 的问题。为什么它是问题呢。?

Counter32 是交换机的一个计数器,这个计数器是 32 位。是一个从 0 开始不断累加,那么它最大为多少呢。?2^32 次方 =4294967296 当计数器达到 4294967296 就会重新从 0 开始

累加。这里就出现了一个问题。计数器溢出!!

计数器溢出实际就是当 zabbix 取值时,当前值如果比上一次值小的话,那么就是计数器溢出了,当出现这个问题 Zabbix 根据 speed per second 就会忽略这个值,然后再取一个值。然后在利用 speed per second 计算方式计算,存储在数据库在展现。

最前面讲过 cacti 也有问题, 归根究底其实是交换机的 32 位计数器搞的鬼,32 位计数器最大能表示流量为 4G,如果计数器在采集时间之内溢出一次,上一次采集值与当前采集值之差超过 4G,而且当流量达到 109.225Mbps 流量就会有问题。4G/300*8=109.225Mbps 300=5*60 同时 cacti 和 zabbix 认为在溢出之后,上一次与当前采集差值是正常的,并不会认为是差值是溢出导致。

解决方法:

1. 把取值间隔调快点,比如 1 分钟取一次。这样就不会存在问题。

2. 使用 64 位计数器。大家可以查下交换机手册,是否支持 64 位计数器,新一代交换机全支持 64 位计数器。如果当前生产环境不支持 64 位计数器,那么就使用第一种方法咯。加快取值间隔时间。。

针对上面这个问题呢,肥肥兄实际碰到过这个问题。- –

好了,到这里文档码完了。希望对大家有帮助。Thank you !!!!!

噢,对了,还差 OID 列表

获取端口列表及描述

snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.2

获取端口 UP/DOWN 情况

snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.8

获取端口入流量 (byte)

snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.10

获取端口出流量 (byte)

snmpwalk -v 2c -c test IP 1.3.6.1.2.1.2.2.1.16

获取过去 5 秒内的 cpu load(百分比)

snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.56.0

获取过去 10 秒内的 cpu load(百分比)

snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.57.0

获取过去 15 秒内的 cpu load(百分比)

snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.2.1.58.0

获取内存使用情况

snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.9.48.1.1.1.5

获取内存空闲情况

snmpwalk -v 2c -c test IP 1.3.6.1.4.1.9.9.48.1.1.1.6

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计3550字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中