如下图情况,我们监测的就是此数据,当大于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