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是在多次统计后的平均值

[[email protected] 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

网络网卡的配置路径在

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

三、抓包分析

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

[[email protected] 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则重启网卡

五、定时监测的实现

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

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

原文地址:https://www.cnblogs.com/haozheyu/p/9932487.html

时间: 2024-11-05 23:27:43

Shell应用之网卡流量监测的相关文章

查看Linux服务器网卡流量小脚本shell和Python各一例

有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡).脚本中都用了while true"死循环",每隔10s从"/proc/net/dev"中取一次值并根据10s内的差值计算10s内的平均带宽:按ctrl+c停止执行.脚本兼容centos6和7 两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了.直接上图上脚本: shell版-

查看Linux服务器网卡流量小脚本shell

有时我们需要较为实时的查看服务器上的网卡流量,这里我写了个shell小脚本.脚本中用了while true"死循环",每隔10s从"/proc/net/dev"中取一次值并根据10s内的差值计算10s内的平均带宽:按ctrl+c停止执行.脚本兼容centos6和7,脚本不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了. 注:1kb=8字节,1Mb=1024kb #!/bin/sh   if [ "$1" = ""

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

linux 查看网卡流量的方法

watch命令的使用 watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果. 默认watch会以2s的间隔重复运行命令,你也可以用 -n 参数指定时间间隔,还有一个实用的参数是-d,这样watch会帮你高亮显示变化的区域,这样更加一目了然了,Ctrl+c 可以退出 你可以拿他来监测你想要的一切命令的结果变化,比如:ls 监测某

iftop 监控linux服务器网卡流量

(1)源码编译安装iftop 安装iftop必需的软件库: [[email protected] ~]#yum install  libpcap libpcap-devel ncurses ncurses-devel [[email protected] ~]#yum install  flex byacc 下载iftop,编译安装: [[email protected] ~]#wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17

安全运维之:网络实时流量监测工具iftop

网络管理是基础运维中一个很重要的工作,在看似平静的网络运行中,其实暗流汹涌,要保证业务系统稳定运行,网络运维者必须要了解网络的流量状态.各个网段的使用情形,带宽的利用率.网络是否存在瓶颈等,同时,当网络发生故障时,必须能够及时发现问题,迅速定位问题,进而解决问题,这就需要一些网络监测工具的辅助,本节将介绍一款小巧但功能很强大的网络实时流量监测工具iftop.一.iftop能做什么iftop是一款免费的网卡实时流量监控工具,类似于Linux下面top命令.iftop可以监控指定网卡的实时流量.端口

linux服务器性能(网卡流量、CPU、内存、磁盘使用率)监控

广义的网站的监控涵盖所有的非业务行为的数据采集与管理,包括数据分析师和产品设计师使用的网站用户行为日志.业务运行数据,以及供运维工程师和开发工程师使用的性能统计数据等. 本文主要是通过shell脚本来收集服务器性能指标,如系统load.内存占用.磁盘IO.CPU占用,并将其写入一个文件中,及时判断应用情况,防患于未然 . 实现步骤如下: 第一步:编写shell脚本,如下: vim check.sh,添加下面脚本之后保存 1 #!/bin/bash 2 #这个脚本使用来统计CPU.磁盘.内存使用率

网络实时流量监测工具iftop

什么是iftop     iftop是一个免费的网卡实时流量监测工具,类似有top命令,不仅可以监控特定网卡的实时流量,端口连接信息等,还可以显示本机网络流量的情况,非常适用于监控代理服务器或者路由器的网络流量. 安装iftop  1. 下载:     [[email protected] ]#wget  http://www.ex-parrot.com/pdw/iftop/download/iftop-1.0pre4.tar.gz  2. 安装必要程序     [[email protecte

Linux查看实时网卡流量的几种方式

Linux查看实时网卡流量的几种方式 来源  https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量.通常,我们会通过这几种方式查看Linux服务器的实时网卡流量. 1. sar -n DEV 1 2 sar命令包含在sysstat工具包中,提供系统的众多统计数据.其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量. sar –n DEV 1 2 命令后面1 2