前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell脚本案例-监控网卡流量

shell脚本案例-监控网卡流量

作者头像
星哥玩云
发布2022-09-15 16:49:49
1.7K0
发布2022-09-15 16:49:49
举报
文章被收录于专栏:开源部署

job-网卡流量监控

案例需求

网卡发送和就收数据量监控,按秒统计。

思考: 如何获取某块网卡上一秒的流入、流出数据流量 ifconfig中可以获得,你知道吗?

网卡流量.png
网卡流量.png

脚本应用场景:

动态监控网卡的流量

解决问题

实时掌握网卡的流量,掌握带宽使用情况

脚本思路

1、获得网卡当前流入流出总量

2、休息一秒

3、获得网卡当前流入流出总量

4、运算得出上一秒网卡流量

5、输出结果

实现代码

代码语言:javascript
复制
#!/bin/bash
# 
#Author: www.zutuanxue.com
#Created Time: 
#Release: 
#Description: 网卡流量监控


#脚本用法
#判断用户是否传参
if [ -z "$1"] || [ "$1" == "--help" ];then
  cat << EOF
$0 网卡名称
--help 打印帮助菜单
EOF
fi



#如果用户没有传参,则退出脚本
[ $# -lt 1 ]&&exit 1

#第一次取值
#1、获得当前网卡流量 初始化值
NIC_RX=`ifconfig $1|grep "RX packets"|tr -s " "|cut -d " " -f6`
NIC_TX=`ifconfig $1|grep "TX packets"|tr -s " "|cut -d " " -f6`

#休息一秒开始循环
sleep 1


#循环开始监控网卡流量 监控频率 1s
while :
  do
     #2、监控当前网络的流量,第二次取值
     NIC_RX_1=`ifconfig $1|grep "RX packets"|tr -s " "|cut -d " " -f6`
     NIC_TX_1=`ifconfig $1|grep "TX packets"|tr -s " "|cut -d " " -f6`  
     
     #3、制作输出
     #3.1、清屏输出下文
     clear
     echo -e "\t$1 网卡流量监控"
     echo "----------------------------------------"
     echo -e "网卡: $1\n"
     #3.2、运算得出结论
      echo -e "发送:\t$((NIC_TX_1-NIC_TX))B/s\t接收:\t$((NIC_RX_1-NIC_RX))B/s"
     
     #重新赋值网卡初始化流入流出变量
     NIC_RX=$NIC_RX_1
     NIC_TX=$NIC_TX_1
     
     #休眠1秒,进入下一次循环
     sleep 1
done

案例思考

代码语言:javascript
复制
如何采用图表的方式输出网卡信息
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • job-网卡流量监控
    • 案例需求
      • 脚本应用场景:
        • 解决问题
          • 脚本思路
            • 实现代码
              • 案例思考
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档