• Shell应用之网卡流量监测


    需求分析
    1)按固定时间监测一次网卡流量
    2)当网卡流量为0时重启网卡

    一、网卡流量查询
    sar(System ActivityReporter系统活动情况报告)是目前Linux上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等,sar命令有sysstat安装包安装。
    这里我们利用sar 命令中的网络监控功能
    sar -n #统计网络信息
    sar -n选项使用6个不同的选项:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6 ,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
    sar -n DEV 1 1: 每间隔1秒统计一次,总计统计1次,其中的average是在多次统计后的平均值

    [root@mail sbin]# sar -n DEV 1 1  
    Linux 3.10.0-862.el7.x86_64 (mail.rhcc.com) 	11/08/18 	_x86_64_	(1 CPU)
    
    21:33:15        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    21:33:16        ens37      1.01      0.00      0.06      0.00      0.00      0.00      0.00
    21:33:16           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21:33:16    virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21:33:16       virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    21:33:16        ens33      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    Average:        ens37      1.01      0.00      0.06      0.00      0.00      0.00      0.00
    Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:    virbr0-nic      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:       virbr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    Average:        ens33      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    

    二、网卡的查询和重启

      #>查询的命令有
      397  ip a
      398  ifconfig 
      399  nmcli device show
      #>网卡重启 
      402  ifdown ens37 && ifup ens37
      405  ifdown ens37 ; ifup ens37
    
    

    网络网卡的配置路径在

    [root@mail sbin]# cd /etc/sysconfig/network-scripts/
    更改完配置记得重启服务
    

    三、抓包分析
    通常网卡流量异常时都需要查看分析,往往抓包就是最直观的查看方式

    [root@mail network-scripts]# tcpdump -nn -i ens37 -c 100
    

    >加上-w 参数可以将抓取的内容保存到固定的.cap文件中,这个文件是可以用

    Windows的wireshark工具查看的,同样tcpdump -r *.cap 也可以查看。

    四、案例分析

    #!/bin/bash
    LANG=C  #>设置英文的的环境
    if [ ! rpm -q sysstat &> /dev/null ]
    then
        yum install -y sysstat
    fi       #>判断sar是否可执行
    sar -n DEV 1 10 |grep 'ens37' > /tmp/ens37_sar.log  #>监测网卡流量重定向
    net_in=`grep '^Average:' /tmp/ens37_sar.log|awk '{print $5}'`     #>分析入流量
    net_out=`grep '^Average:' /tmp/ens37_sar.log|awk '{print $6}'`     #>分析出流量
    if [ $net_in == "0" -a $net_out == "0" ] 
    then
        echo "`date` ens37 Flow anomaly"  >> /tmp/net.log
        ifdown ens37 &&  ifup ens37
    fi      #>判断出入的流量是否为0 ,为0则重启网卡
    
    

    五、定时监测的实现
    image

    [root@mail sbin]# crontab -e
    no crontab for root - using an empty one
    crontab: installing new crontab
    [root@mail sbin]# crontab -l
    30 * * * * /bin/sh /usr/local/sbin/tp.sh 
    

    -------------END---------------

  • 相关阅读:
    flutter 右滑返回上一页
    flutter 的Animation简单了解
    Flutter Offstage、Visibility隐藏/可见
    flutter手势
    Flutter生命周期
    flutter 路由动画
    flutter 保持页面状态
    flutter 不规则底部工具栏实现
    flutter 主页面底部导航栏实现以及主题风格设置
    flutter DropdownButton使用
  • 原文地址:https://www.cnblogs.com/haozheyu/p/9932487.html
Copyright © 2020-2023  润新知