使用Zabbix中遇到的问题:snmp监控端口流量偶尔会断图
2016-04-16 18:44
453 查看
在使用zabbix的snmp方式的监控端口流量时,某一个图总是断断续续的(被监控设备有较大的端口流量),经常会出现几分钟内没有图像的问题。
这是因为item中是使用MIB中的ifInOctets(OID:1.3.6.1.2.1.2.2.1.10)和ifOutOctets(OID:1.3.6.1.2.1.2.2.1.16)作为获取端口流量的依据的。其表示某接口流入或流出的数据总量。
这里解释一下,因为取到的值是数据的总量,所以我们在设置item时会使用前后两次取到的差值除以时间得到一个接口速率。当zabbix得到一个小于等于0的差值时就会认为取值错误。
但是这两个OID的数据类型为32位,所能表示的最大值就是2^32Byte=4GB,这是很容易就可以超出的累加值。当设备的该值累加到4GB时就会清0,然后重新进行累加。
然后由于清0以后计算的差值有误(差值是小于零的数),就会出现断图的情况。
为了解决这个问题,需要将取值使用的OID改成ifHCInOctets(1.3.6.1.2.1.31.1.1.1.6)和ifHCOutOctets( 1.3.6.1.2.1.31.1.1.1.10),这两个OID的数据类型为64位,所能表示的最大值就是2^64Byte=16777216TB,就基本不可能再发生断图的情况了。
大家在zabbix的模板里将取值用的OID改成上面的64位的就好了^^
这是因为item中是使用MIB中的ifInOctets(OID:1.3.6.1.2.1.2.2.1.10)和ifOutOctets(OID:1.3.6.1.2.1.2.2.1.16)作为获取端口流量的依据的。其表示某接口流入或流出的数据总量。
这里解释一下,因为取到的值是数据的总量,所以我们在设置item时会使用前后两次取到的差值除以时间得到一个接口速率。当zabbix得到一个小于等于0的差值时就会认为取值错误。
但是这两个OID的数据类型为32位,所能表示的最大值就是2^32Byte=4GB,这是很容易就可以超出的累加值。当设备的该值累加到4GB时就会清0,然后重新进行累加。
然后由于清0以后计算的差值有误(差值是小于零的数),就会出现断图的情况。
为了解决这个问题,需要将取值使用的OID改成ifHCInOctets(1.3.6.1.2.1.31.1.1.1.6)和ifHCOutOctets( 1.3.6.1.2.1.31.1.1.1.10),这两个OID的数据类型为64位,所能表示的最大值就是2^64Byte=16777216TB,就基本不可能再发生断图的情况了。
大家在zabbix的模板里将取值用的OID改成上面的64位的就好了^^
相关文章推荐
- Python 实现Zabbix自动发送报表
- Zabbix安装详解
- 用zabbix监控nginx_status状态
- Zabbix监控Linux主机设置方法
- Zabbix监控交换机设置方法
- 使用zabbix监控mongodb的方法
- 集群运维自动化工具ansible之使用playbook安装zabbix客户端
- zabbix进行数据库备份以及表分区的方法
- 部署企业级zabbix+Orabbix监控Oracle数据库
- zabbix 触发器 Triggers
- zabbix 分布式部署
- zabbix event事件
- openstack开发之--zabbix被坑的地方
- RedHat6(CentOS6)下Zabbix2安装
- Zabbix配置文件详解之服务端zabbix_server
- zabbix配置指南
- zabbix 监控windows 服务器
- zabbix服务器安装教程
- Zabbix 3.0 安装步骤
- zabbix之固定端口监控redis ,zabbix监控memcached