用Zabbix获取网络设备的接口流量后有一个很重要的需求就是将流量进行汇总。 首先通过监控项(items)来获取数据,然后通过计算公式(Calculated)将采集到的数据进行运算并储存到数据库中。 首先可以看下 2.4 版 Zabbix 的官方计算公式文档,了解大致格式。
func(<key>|<hostname:key>,<parameter1>,<parameter2>,...)
我们是要将同一时间点的多个接口的流量进行相加,所以函数采用的是last
。
其次是 hostname/key 部分,若只是对单个主机进行运算,可以直接在该主机下新建公式监控项进行汇总,但由于有很多台设备都需要进行运算,将汇总散落在各个主机下不方便管理及查看,所以统一新建一个地址为默认127.0.0.1
的主机来进行汇总。
这样的话一定要在公式中填写主机名,这个主机名是添加设备中第一行的那个可以唯一标识设备的主机名称
,而不是第二行的可见的名称
。
Key 是该主机下对应监控项的键值
,这也是唯一标识接口的字符串。
所以如果是要添加两台7609设备 Te1/1 和 Te2/1
接口出流量进行汇总的话,首先要新建一台主机,只需要更改名称和群组,其他所有内容都保持原值,点击添加。
然后在项目中新建监控项,名称自己起,类型选择计算(Calculated)
,键值自己起一个唯一且有意义的。数据类型采用浮点型,单位为bps。其他保留默认添加即可。添加后若监控项行末未出现报错即添加成功。
公式为:
last("SZ-1.7609:ifHCInOctets[TenGigabitEthernet1/1]")+
last("SZ-1.7609:ifHCInOctets[TenGigabitEthernet2/1]")+
last("SZ-2.7609:ifHCInOctets[TenGigabitEthernet1/1]")+
last("SZ-2.7609:ifHCInOctets[TenGigabitEthernet2/1]")
添加完成后点击该汇总主机后的图形
创建新图形,点击最下面的项目
中的添加,主机选刚刚新建的汇总主机,然后选中出流量汇总监控项目即可完成添加图形。
由于计算是将采集到的数据进行计算后存储到数据库,所以汇总的数据是从你完成添加才开始有,但只要你添加项目后,无论什么时候添加图形,图形中的起始依然是完成汇总计算添加的那个时间点。 公式可以换行,所以为了方便查看及维护,建议每一个接口都单独放一行。 添加图形的项目中函数(function,中文版中错译为功能)建议使用最大值,以便能在图形中确定出流量最高点的时间。
公式中的主机名部分 公式中的键值部分 添加汇总主机 汇总计算公式 添加图形
最后修改于 2016-01-22