这个脚本的思路,自定义一个key,然后就是通过查看文件 /proc/net/dev 里面的数值,来计算实时网卡流量,其实我算的是一个平均值。分为进和出。如果这个脚本每隔1分钟执行一次,那么算出来的流量值就是1分钟的平均值。最终得到
网卡流量趋势图。
1、客户端操作
# vim /etc/zabbix/zabbix_agentd.conf
# UnsafeUserParameters=0 取消注释并修改为1,在下面增加一行
UserParameter=
my.net.if
[*],/usr/local/sbin/zabbix/net.sh
$1 $2
my.net.if[相当于命令名字,他是key
其中UserParameter用来自定义键值,(类似于net.if.in),自己写的脚本往往会有参数,[*] 表示他有自己的参数,所以需要加[*],这是固定写法,如果脚本压根就没有什么参数,那么这个就省了。逗号后面就是我们写的脚本的路径了,再后面就是要用到的参数,有几个就写几。如果没有参数,后面的 $1 $2 还有前面的 [*] 就都可以省略。
不足之处:
脚本需要工作中不断的进行改进。
并没有针对每个网卡设定单独的文件,所有网卡使用同一个日志文件
# vim /usr/local/sbin/zabbix/net.sh
#!/bin/bash
eth=$1
io=$2
net_file="/proc/net/dev"
if [ $2 == "in" ]
then
n_new=`grep "$eth" $net_file|awk '{print $2}'`