欢迎光临
我们一直在努力

zabbix使用ifstat工具来自定义获取网卡流量

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上面

上面就是效果图

搞定!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。