监控网卡流量的shell脚本

  1. 云栖社区>
  2. 博客>
  3. 正文

监控网卡流量的shell脚本

首席提问官 2018-11-25 21:57:01 浏览784
展开阅读全文

本脚本来自有学习阿铭的博文学习:
公司网络偶尔出现网卡问题,将陷入业务瘫痪,造成不可挽回的损失。所以需要时常监控。
提示:本文中的S全部都$符,不要问为什么,马云爸爸的社区就这样。

#!/bin/bash
#用途:监控网卡流量的shell脚本。
#作者:Caron maktini
#日期:2018年11月23日
#版本:v0.1
#要求如下:每分钟检测一次网卡的流量;当网卡流量为0时,重启网卡。

mail_user=admin@admin.com 
dir=/tmp/netlog

[ -d  Sdir ] II mkdir  $dir 
s_m=`lsattr -d  Sdir l awk ' {print $1} ' I  sed  's/[^a]//g'` 
if  [  $s_m  != "a" ]
then 
    chattr +a  $dir 
fi

if  ! rpm -q sysstat &> /dev/null 
then 
    yum install -y sysstat 
fi 

sar -n DEV 10 I grep 'eth0 ' > /tmp/eth0_sar. Iog 
net_in=`grep ' ^Average: ' /tmp/eth0_sar.log l awk '{ print $5}'` 
net_out=`grep ' ^Average: ' /tmp/eth0_sar.log l awk '{ print $6}'` 


if [ ! -f $dir/net.log ] 
then 
    echo"net_in $ net_in">> S dir/net. Iog 
    echo"net_out $ net_out">> S dir/net. Iog 
    exit 0
fi 

net_in_last=`tail-2  Sdir/net.Iog l grep 'net_in'` 
net_out_last=`tail-2  Sdir/net.Iog l grep 'net_out'` 
net_in_diff=`S [Snet_in-$net_in_last]`
net_out_diff=`S [S net_out-Snet_out_last]' 

if [  Snet_in_diff  -gt  $net_in_last ]
then 
      python mail.py $mail_user "网卡入口流量増幅异常" "增幅Snet_in_dff"       
fi 

if [ Snet_out_diff -gt Snet_out_last ] 
then 

      python mail.py $mail_user "网卡出口流量增幅异常" "增幅Snet_out_dff"      
fi 

echo  "net_in Snet_in" >> $ dir/net.Iog 
echo   "net_out  Snet_out">> $ dir/net.Iog 


网友评论

登录后评论
0/500
评论
首席提问官
+ 关注