查看网络流量,并用rrdtool画图

#!/bin/sh
#set -x

function traff()
{
        eth=$1
        RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
        TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
        sleep 2
        RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')
        TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')
        RX0=$((${RXnext}-${RXpre}))
        TX0=$((${TXnext}-${TXpre}))
        if [ $2 = TX ];then
                echo "$(echo $TX0 | awk '{print $1/1024}')"
        fi
        if [ $2 = RX ];then
                echo "$(echo $RX0 | awk '{print $1/1024}')"
        fi
}

rrd_path="/home/yfjy/bakfile/logs"
image_path="$rrd_path/images"
sec=300
input=`traff eth0 RX`
output=`traff eth0 TX`
now=`date +%s`

#rrdtool create $rrd_path/network.rrd -s 300 DS:Input:GAUGE:600:U:U DS:Output:GAUGE:600:U:U RRA:AVERAGE:0.5:1:288

rrdtool update $rrd_path/network.rrd $now:$input:$output

rrdtool graph $image_path/network.png \
--title "Local Network" \
DEF:v1=$rrd_path/network.rrd:Input:AVERAGE \
DEF:v2=$rrd_path/network.rrd:Output:AVERAGE \
AREA:v1#FF0000:"Input" \
AREA:v2#00FF00:"Output" \
-v "Value"





本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/1185951,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值