shell-004:检测机器存活或者网络陡动情况!

如下图情况,我们监测的就是此数据,当大于50%了,我们就可以设置告警等!

#!/bin/bash
# 用ping检测一台机器的存活或者网络波动情况
# 检测机器的丢包率来检测网络波动情况!!
n=`ping -c3 8.8.8.8|grep '0% packet loss'|awk -F '%' '{print $1}'|awk '{print $NF}'`
if [ $n -gt 50 ];then
# 当丢包率大于50,我们认为机器有问题。下面的mail发送命令我是随便写的。至于mail怎么发送邮件,自己网上搜索。或者参考我的博客!
mail -s '网络有问题' xxxxxx@163.com
fi
exit

 脚本写好了,我们还要去做一个计划任务。或者我们可以直接把脚本改成一个死循环,30秒执行一次!!

下面是按照上面的脚本添加了一个死循环

#!/bin/bash
# 用ping检测一台机器的存活或者网络波动情况
# 检测机器的丢包率来检测网络波动情况!!
n=`ping -c3 8.8.8.8|grep '0% packet loss'|awk -F '%' '{print $1}'|awk '{print $NF}'`

## 这里我添加了一个判断脚本的正常情况,可省略

if [ -z $n ];

then
echo "脚本有问题,发送邮件并且退出"
mail XXXXXXXXXXXXXXXXXXXXXXXXX
exit
else
n1=`echo $n|sed 's/[0-9]//g'`
if [ -n $n ]   
then
echo "脚本有问题,发送邮件并且退出"
mail XXXXXXXXXXXXXXXXXXXXXXXXX
exit

while
do
if [ $n -gt 50 ];then
# 当丢包率大于50,我们认为机器有问题。下面的mail发送命令我是随便写的。至于mail怎么发送邮件,自己网上搜索。或者参考我的博客!
mail -s '网络有问题' xxxxxx@163.com 
fi
sleep 30
done

 

posted on 2018-12-30 11:51  yeyu1314  阅读(205)  评论(0编辑  收藏  举报