xinghe0 发表于 2019-1-18 09:22:09

zabbix监控整体业务流量

生产应用中的一点想法:
      有的时候想查看某一个业务用了多少流量,或者说想看这个业务的Nginx活动请求量是多少,我还得去从zabbix里把这业务的主机一台台的找出来做统计,然而基于监控的思想,数据采集à存储à展示à告警,我自己用了一个很简单的脚本来做这些统计,并用zabbix采集起来做图形展示。
  

实现过程,说吹一点就是思想,哈哈:
  1.整理各业务的IP到一个文本里。
http://blog.运维网.com/attachment/201312/230017962.png
  2.在flowsum.sh脚本中利用zabbix_get把所有业务的出口流量都统计出来做一个总和,为整体业务的总流量,因为服务器都是对外服务,所以只采集外网网卡的OUT流量。
  3.利用zabbix_get把各个业务的流量都统计出来做一个总和,为某个业务流量。
  4.在zabbix中监控并绘图。
  

脚本:
  #!/bin/bash
  # Nmae:统计各业务的出口带宽总流量.
  # Date: 2013-12-25
  # Author: 26370788@qq.com
  

  Home=$(cd `dirname $0`;pwd)
  LogFile=/tmp/flow-${1}.log
  

  

  # 统计项目的总流量.
  ItemCount() {
  

  Sum=0
  > $LogFile
  

  forI in ${Item
[*]};do
  

  localFlow=$(/usr/bin/zabbix_get -s $I -k net.if.out)
  echo"$I   flow is   $Flow" >> $LogFile
  letSum+=$Flow
  

  done
  

  echo $Sum
  

  }
  

  

  # 只接受一个参数,如果是Count就统计总流量,否则统计单个业务流量。
  if [ $# -eq 1 ];then
  

  case$1 in
  

  Count)
  Item=(`cat ${Home}/*.ip`)
  ItemCount;;
  

  *)
  Item=(`cat ${Home}/${1}.ip`)
  ItemCount $*;;
  

  esac
  

  fi
  

  

添加Zabbix监控:
  这个收集工作就放在zabbixserver自身或者proxy上即可。
1,在Agent配置当中添加UserParameter:
UserParameter=flowsum
[*],/data/zabbix/etc/zabbix_agentd.conf.d/flowsum/flowsum.sh$1
2,在zabbixserver主机上添加业务总流量的监控项,不用多说都放一个应用集里,而key用Count做为$1传给脚本,单位那些与监控网卡流量配置一样:
http://blog.运维网.com/attachment/201312/230022710.pnghttp://blog.运维网.com/attachment/201312/230025474.png
3,添加各个业务流量,克隆上面的项目就可以了,只是改一下key中的$1为自己定义的业务文本名。
4,绘图:
http://blog.运维网.com/attachment/201312/230031601.png
5,结果,这样流量去哪了就清晰多了:
http://blog.运维网.com/attachment/201312/230038397.png
  

  

Zabbix使用感:
      相对之前用的nagios和cacti来说,我还是觉得zabbix功能很全,很强,不用不知道,用了狠狠笑,果断的迁移了过来,当然自己也没玩多久,欢迎交流和指导。
  




页: [1]
查看完整版本: zabbix监控整体业务流量