zabbix功能强大,不得不提。原计划使用其自带的calculate功能汇总host_group的网卡流量,如下:
但数据获取结果和实际相差很大(不是一般大,很离谱的大),所以只能通过脚本来获取,脚本如下:
#/bin/bash #Descript:calculate group traffic qzqm_list="192.168.1.101 192.168.1.102" jsqm_list="172.16.100.101 172.16.100.102 172.16.100.103" function get_data() { traffic=0 trac_dire=$1 for host in $host_list do # echo $host case $trac_dire in inband) command="/sbin/zabbix_get -s $host -k net.if.in[\"${host}\"]" ;; outband) command="/sbin/zabbix_get -s $host -k net.if.out[\"${host}\"]" ;; *) echo "destination errot" exit 5 esac # echo $command trac=$(eval $command) # echo $trac traffic=$[traffic+trac] done echo $traffic } group=$1 direct=$2 case $group in fujian) host_list=$qzqm_list get_data $direct ;; jiangsu) host_list=$jsqm_list get_data $direct ;; *) echo "please check host group and directory" exit 4 esac
还是通过zabbix_get工具获取的各主机流量,再进行计算,执行结果如下:
和每台主机获取到的流量再进行计算的还是比较接近的。
如果有朋友知道,如何通过使用自带calculate方法准确汇总流量,还望留言指导。
本文出自 “11414123” 博客,转载请与作者联系!
原文地址:http://11424123.blog.51cto.com/11414123/1764407