脚本1:
#!/bin/bash
e0_in_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e0_out_old=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
>e0_total_old=$(($e0_in_old + $e0_out_old))
e1_in_old=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e1_out_old=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e1_total_old=$(($e1_in_old + $e1_out_old))
while true
do
sleep 1
e0_in_new=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e0_out_new=$(ifconfig eth0 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e0_total_new=$(($e0_in_new + $e0_out_new))
e1_in_new=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |head -n1)
e1_out_new=$(ifconfig eth1 |grep bytes |awk '{print $2" "$6}' |egrep -o '[0-9]+' |tail -n1)
e1_total_new=$(($e1_in_new + $e1_out_new))
e0_in=$((($e0_in_new - $e0_in_old) * 8))
e0_out=$((($e0_out_new - $e0_out_old) * 8))
e0_total=$((($e0_total_new - $e0_total_old) * 8))
e1_in=$((($e1_in_new - $e1_in_old) * 8))
e1_out=$((($e1_out_new - $e1_out_old) * 8))
e1_total=$((($e1_total_new - $e1_total_old) * 8))
echo -e "eth0 IN: $e0_in \t b/s OUT: $e0_out \t b/s TOTAL: $e0_total \t b/s"
echo -e "eth1 IN: $e1_in \t b/s OUT: $e1_out \t b/s TOTAL: $e1_total \t b/s\n"
e0_in_old=$e0_in_new
e0_out_old=$e0_out_new
e0_total_old=$e0_total_new
e1_in_old=$e1_in_new
e1_out_old=$e1_out_new
e1_total_old=$e1_total_new
done
 
exit 0
 
 
脚本2:
#!/bin/bash
#  osdba 2008.10.22 monitor the interface's network traffic.
if [ $# -ne 3 ];then
   echo Useage : $0 interface interval count
   echo Example: $0 eth0 2 10
   exit
fi
eth=$1
count=$3
interval=$2
inbytesfirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $2}')
if [ -z "$inbytesfirst" ];then
    echo The network interface $eth is not exits!
    exit 1;
fi
outbytesfirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $10}')
inpacketsfirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $3}')
outpacketsfirst=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $11}')
sleep $interval"s"
i=0
while [ "$i" -lt "$count" ]
do
   inbytesend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $2}')
   outbytesend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $10}')
   inpacketsend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $3}')
   outpacketsend=$(cat /proc/net/dev |tr ':' ' '|awk  '/'$eth'/{print $11}')
   bytesin=$(($inbytesend-$inbytesfirst))
   bytesout=$(($outbytesend-$outbytesfirst))
   packetsin=$(($inpacketsend-$inpacketsfirst))
   packetsout=$(($outpacketsend-$outpacketsfirst))
   if [ "$bytesin" -lt "0" ];then
      bytesin=$((4294967295-$inbytesfirst+$inbytesend))
      #echo bytesin $bytesin $inbytesfirst $inbytesend
   fi
   if [ "$bytesout" -lt "0" ];then
      bytesout=$((4294967295-$outbytesfirst+$outbytesend))
      #echo bytesout $bytesout $outbytesfirst $outbytesend
   fi
   if [ "$packetsin" -lt "0" ];then
      packetsin=$((4294967295-$inpacketsfirst+$inpacketsend))
      #echo packetsin $packetsin $inpacketsfirst $inpacketsend
   fi
   if [ "$packetsout" -lt "0" ];then
      packetsout=$((4294967295-$outpacketsfirst+$outpacketsend))
      #echo packetsout $packetsout $outpacketsfirst $outpacketsend
   fi
   bytesin=$(($bytesin/$interval))
   bytesout=$(($bytesout/$interval))
   packetsin=$(($packetsin/$interval))
   packetsout=$(($packetsout/$interval))
   sumbytesin=$(($sumbytesin+$bytesin))
   sumbytesout=$(($sumbytesout+$bytesout))
   sumpacketsin=$(($sumpacketsin+$packetsin))
   sumpacketsout=$(($sumpacketsout+$packetsout))
   if [ $(($i%20)) -eq 0 ];then
      echo " ifname   | in_kbits/s out_kbits/s | in_kBytes/s out_kBytes/s | in_packets/s out_packets/s"
      echo "--------- | ---------- ----------- | ----------- ------------ | ------------ -------------"
   fi
   echo $eth $bytesin $bytesout $packetsin $packetsout |awk '{printf("%9s | %10d %11d | %11d %12d | %12d %13d\n",$1,$2/128,$3/128,$2/1024,$3/1024,$4,$5)}'
   inbytesfirst=$inbytesend
   outbytesfirst=$outbytesend
   inpacketsfirst=$inpacketsend
   outpacketsfirst=$outpacketsend
  
   i=$(($i+1))
   sleep $interval"s"
done
sumbytesin=$(($sumbytesin/$i))
sumbytesout=$(($sumbytesout/$i))
sumpacketsin=$(($sumpacketsin/$i))
sumpacketsout=$(($sumpacketsout/$i))
echo "--------- | ---------- ----------- | ----------- ------------ | ------------ -------------"
echo Average $sumbytesin $sumbytesout $sumpacketsin $sumpacketsout |awk '{printf("%9s | %10d %11d | %11d %12d | %12d %13d\n",$1,$2/128,$3/128,$2/1024,$3/1024,$4,$5)}'

脚本3:
#!/bin/bash
# test network width
function usage
{
 echo "Usage: $0?? "
 echo "?????? e.g. $0 eth0 2"
 exit 65
}
if [ $# -lt 2 ];then
usage
fi
typeset in in_old dif_in
typeset out out_old dif_out
typeset timer
typeset eth
eth=$1
timer=$2
in_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )
out_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )
while true
do
sleep ${timer}
in=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )
out=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )
dif_in=$(((in-in_old)/timer))
dif_out=$(((out-out_old)/timer))
echo "IN: ${dif_in} Byte/s OUT: ${dif_out} Byte/s"
in_old=${in}
out_old=${out}
done
exit 0

三个监控linux网卡流量脚本相关推荐

  1. linux 网卡流量脚本,每5分钟统计Linux 网卡流量的脚本

    每5分钟统计Linux 网卡流量的脚本 -- 脚本内容 #!/bin/bash eth="eth0" sec=300 echo -ne "date       start ...

  2. zabbix监控linux网卡流量,zabbix实现linux流量变化率监控

    监控软件:zabbix 需求分析:从系统层面的监控看,现在CPU持续超过80%会报警,流量曲线达到阀值才会报警,但是流量在短时间内起伏很大,肯定是有问题的,目前主要还是依靠人看,肯定有滞后性,如果能定 ...

  3. linux 网卡流量脚本,实时查看Linux网卡流量的shell脚本分享(图文)

    实时查看linux下的网卡流量,脚本内容如下: 复制代码 代码示例: #!/bin/bash #filename interface.sh eth=eth0 RXpre=$(ifconfig ${et ...

  4. cacti监控linux网卡流量,Linux下使用Cacti监控流量状况

    Cacti 官方站点:http://www.cacti.net Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具 ...

  5. linux 流量 脚本,实时查看linux网卡流量脚本

    1.本脚本可自定义欲查看接口,精确到小数,并可根据流量大小灵活显示单位. 2.此脚本的采集间隔为1秒. 3.此脚本不需要额外再安装软件,可在急用情况下应付一下,比如临时想看一下是否有流量通过,大概为多 ...

  6. zabbix监控linux网卡流量,zabbix监控网卡进出流量与磁盘空间变化情况

    如题所示,在配置zabbix监控服务器并预警的时候,有两项最基本的监控,分别是:网卡进出流量变化情况.不同磁盘分区空间变化情况.其次,在配置完监控之后,还需要设置对应的触发器,从而在满足我们指定条件时 ...

  7. zabbix监控linux网卡流量,Zabbix结合iptables监控网络流量

    在实际生产环境监控体系中,由于个别任务的需要对服务器中对外数据库连接的流量进行情况.为此我使用linux操作系统的iptables结合zabbix定时对网络中特定IP的流量情况进行采集,具体操作如下: ...

  8. Linux 网卡流量工具详细介绍【转】

    http://note.youdao.com/yws/public/redirect/share?id=56628acb62dde190f5398ba36622624f&type=false ...

  9. zabbix监控物理网卡流量

    zabbix监控物理网卡流量 根据cat /proc/net/dev查看物理网卡信息 最左边的表示接口的名字,Receive表示收包,Transmit表示发包: bytes表示收发的字节数: pack ...

最新文章

  1. 祈澈菇凉的高端知识资源分享星球开通
  2. win7 mysql8.0.11安装教程_Win7系统安装 MySQL 8.0.11
  3. 大学生职业生涯规划书性格特征_搞定职业生涯规划书,看这里!
  4. linux搭建--ubuntu使用qemu-kvm,libvirt搭建虚拟机,并搭建libvmi来虚拟机自省(三)
  5. LeetCode 1152. 用户网站访问行为分析
  6. java null和 的区别_java中null和的区别
  7. 利用IAR调试Mini2440
  8. Spring Security(三十六):12. Spring MVC Test Integration
  9. 蒋本珊计算机组成原理知识点笔记,计算机组成原理习题答案解析(蒋本珊)
  10. iPhoneアプリに本格ホラーアドベンチャー監獄脱出少女 android
  11. 用AtomicStampedReference/AtomicMarkableReference解决ABA问题
  12. java如何进行传感器数据传输_使用Wio Terminal通过HTTP请求获取并展示传感器实时数据...
  13. Python:字符宽度相同的字体(等宽字体)
  14. UTC和GMT时间区别
  15. CTP的程序化交易系统开发
  16. matlab多重比较lsd法,多重比较法-LSD I 附赠统计学最全思维导图~
  17. windows11 scp
  18. 百度token怎么获取_【专栏精选】实战:百度语音识别
  19. T1 mapping的用途
  20. JZOJ 6287. 2019.08.09【NOIP提高组A】扭动的树

热门文章

  1. 算法(15)-leetcode-explore-learn-数据结构-运用递归解决二叉树的问题
  2. JUnit单元测试笔记
  3. 区块链中的密码学,使用ABE结合区块链
  4. 在服务器上搭建基于yolo3 与crnn 实现中文自然场景文字检测及识别,GPU版本
  5. Python学习15 正则表达式1
  6. Linux命令:find命令详解
  7. Eclipse GCC 入门
  8. 怎样去理解@ComponentScan注解
  9. 结合shiro 的图形验证码生成
  10. wenzhixin bootstrap-table 点击table单元格改变颜色