Cacti千兆网卡监控不准确

SNMP协议问题

首先要确认客户端SNMP协议版本是支持64位的,检测方法是:

[root@monitoring ~]# snmpwalk -c artronmon -v2c localhost ifHCInOctets

IF-MIB::ifHCInOctets.1 = Counter64: 40446140069

IF-MIB::ifHCInOctets.2 = Counter64: 2276403193

如果有数据说明支持,否则升级你的SNMP5.3以上版本

Cacti服务器HostSNMP协议选择

关于新添加的主机

Consoleàmanagementàdevices,点击”add”,在SNMP Version中选择”Version 2”

cacti关于1000M网卡的监控_第1张图片

关于已经添加的主机

Consoleàmanagementàdevices,选择已经添加的主机,点击打开,在SNMP Version中选择”Version 2”

cacti关于1000M网卡的监控_第2张图片

Cacti管理界面上使用64SNMP协议获取数据的配置

关于新添加的主机

Consoleàmanagementàdevices,点击”add”,设置好相关数据,点击”save”,在主机配置界面点击”Great graph for this host”出现如下界面,在”Select a graph type”中选择In/Out Bits (64-bit Counters),再选择对于的网卡,点击”Create”

cacti关于1000M网卡的监控_第3张图片

关于已经添加的主机

Consoleàmanagementàdevices,选择已经添加的主机,点击打开,点击”data soures list”,找到网卡选项,点击打开,如下,在”OutPut Type ID”中选择”In/Out Bits(64-bits counters)” ,然后点击”save”保存会提示你修改Maximum Value值,修改为1000

cacti关于1000M网卡的监控_第4张图片

其他原因

bitsbytes换算,

默认cacti获取的是bits(比特率)数据,而我们在服务器上看到

的是Bytes(字节),所以数据时不匹配,虽然我们通常都说**M或者**G,但是实际上差距是8倍。换算公式为Bytes*8=Bits

Cacti监控时间影响

这里主要是监控时间的设置,例如:

我有台服务器,在某2分钟流量是70Mb/s,但是我cacti是设置没5分钟抓取一次,

这样我在cacti中看到的数据应该是224MB/s

这个数据比较奇特,我们看下怎么来的

首先系统显示的是bytes(字节/秒,通常我们称之为小b),换算成Cacti的数据应该是

70*8=560MB/s(比特率/秒,通常我们称之为大B),那么我们在cacti中看到的应该是

560MB/S才对,怎么会出现224MB/s呢?

这就是cacti获取时间的影响了,cacti获取的是5分钟的数据,然后除以300s),

显示为这5分钟平均流量,而这台服务器5分钟内,除了这两分钟其他时间都是0

服务器流量应该是70*2*60+0*3*60=8400Mb(字节)

换算比特率8400*8=67200MB(比特率)

除以300(s)=67200/300=224MB/s(比特率/秒)

所以我们这里看到的是224MB/s的数据,如果我们希望数据精确度高,那么可以将

Cacti监控时间设置为1分钟,服务器的承受压力也会增加5倍左右

峰值速度影响

这里面有个问题,cacti监控网络的时候可能出现一个非常高的值,解决的方法就是

限定最大值