您的位置:首页 > 运维架构 > Linux

Linux简单的流量监控及限制

2013-01-07 15:01 253 查看
查看网卡流量,用法 ./traff.sh eth0

==============traff.sh脚本内容如下 ==============

#!/bin/bash

while [ "1" ]

do

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 1

RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}')

TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}')

clear

echo -e "\t RX `date +%k:%M:%S` TX"

RX=$((${RXnext}-${RXpre}))

TX=$((${TXnext}-${TXpre}))

if [[ $RX -lt 1024 ]];then

RX="${RX}B/s"

elif [[ $RX -gt 1048576 ]];then

RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}')

else

RX=$(echo $RX | awk '{print $1/1024 "KB/s"}')

fi

if [[ $TX -lt 1024 ]];then

TX="${TX}B/s"

elif [[ $TX -gt 1048576 ]];then

TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}')

else

TX=$(echo $TX | awk '{print $1/1024 "KB/s"}')

fi

echo -e "$eth \t $RX $TX "

done

==============VNSTAT带宽监视工具==============

http://people.suug.ch/~tgr/bmon/

http://humdi.net/vnstat/

安装vnstat

make && make install

修改配置,以KB显示

vi /etc/vnstat.conf

UnitMode 1

OutputStyle 3

RateUnit 0

常规用法

vnstat -l -i eth0 查看实时流量

vnstat -tr -i eth0 查看最近五秒的平均流量

==============TC带宽监视工具==============

限制网卡eth0的带宽

tc qdisc add dev eth0 root tbf rate 400kbit latency 50ms burst 100k

tc qdisc add dev eth0 root tbf rate 960kbit latency 50ms burst 240k

解除网卡eth0的带宽

tc qdisc del dev eth0 root tbf

键入下面的TC命令减慢200毫秒

tc qdisc add dev eth0 root netem delay 200ms

删除全部规则

tc qdisc del dev eth0 root

列出当前规则

tc -s qdisc ls dev eth0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: