1、获取ifstat
wget http://distfiles.macports.org/ifstat/ifstat-1.1.tar.gz
tar xf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure
make && make install
ln -s /usr/local/bin/ifstat /sbin/
2、自定义监控脚本
vim networkflow.sh
#!/bin/bash
case $1 in
inflow)
ifstat -i eth0 1 1 | sed -n '3p' | awk '{print $(NF-1)}'
;;
outflow)
ifstat -i eth0 1 1 | sed -n '3p' | awk '{print $(NF)}'
;;
esac
我这里是在脚本里面指定网卡eth0的,大家做的话可以稍微改善一下这个脚本,然后自动化获取需要监控的网卡名称。 inflow代表网卡的入口速率,outflow代表出口速率。
chmod a+x networkflow.sh
cp networkflow.sh /usr/local/zabbix_agentd/defineScripts/
这里说一下,/usr/local/zabbix_agentd/defineScripts这个目录是我服务器上面放置自定义脚本的目录。
3、自定义zabbix的key
vim /usr/local/zabbix_agentd/etc/zabbix_agentd.userparams.conf
底部添加一段:
#check network flow
UserParameter=network_flow[*],/usr/local/zabbix_agentd/defineScripts/networkflow.sh $1
/usr/local/zabbix_agentd/etc/zabbix_agentd.userparams.conf 这个文件是我在/usr/local/zabbix_agentd/etc/zabbix_agentd.conf中Include进去的,单独作为一个存放自定义key的地方。
然后重启zabbix_agentd,这个自定义的key就生效了。
4、zabbix server UI使用此key
这个可以添加到已有的模板里面,或者新建一个模板都可以的。
建立item

建立trigger

建立graphs

我这边只是已入口流量为例
5、应用到hosts上面

上面就是效果图
搞定!