服务器无线监控,监控服务器网络状态

d0eb836b79f1

一、shell脚本

监控脚本

iplist=./ip

stime=100

log=/var/log/jiankong.log

uplog=/var/log/jiankongup.log

downlog=/var/log/jiankongdown.log

while true ;do

while read ip ;do

if [[ $ip =~ [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} ]];then

#{

if ping -c1 -w1 $ip &> /dev/null ;then

echo "$ip [ up ]" >> $uplog

else

echo "`date '+%F %T'----`$ip [ down ]" >> $downlog

echo "$ip [ down ]" | mail -s "ERROR " root

fi

#}&

else

echo -e "\033[31mError\033[0m : iplist file `grep -n $ip $iplist`" >> $downlog

fi

done

sleep 10

done

服务器IP列表脚本

[root@centos7 jiankong]$vim jiankong

10.0.0.7

10.0.0.6

10.0.0.16

10.0.0.56

10.0.0.57

172.18.252.235

172.18.253.42

172.18.253.199

10.0.0.100

二、脚本解析

#服务器IP列表文件

iplist=./ip

#检测间隔

stime=100

#总日志文件

log=/var/log/jiankong.log

#网络无异常日志文件

uplog=/var/log/jiankongup.log

#网络异常日志文件

downlog=/var/log/jiankongdown.log

#最外层为死循环,让此脚本一直运行不退出。实现24小时实时监控

while true ;do

#遍历ip列表文件中的所有ip地址

while read ip ;do

#过滤IP列表文件中的ip地址,如果有不是ip地址的行,提示错误。

if [[ $ip =~ [0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3} ]];then

#{....}&让每个ping并行执行,在服务器数量庞大时提高检测速度

{

#ping一次服务器,每次等待1秒,如果ping通则记录到无异常日志中

if ping -c1 -w1 $ip &> /dev/null ;then

echo "$ip [ up ]" >> $uplog

#如果ping不通则记录到异常日志文件中

else

#使用重定向,将异常服务器IP地址记录到异常日志文件

echo "`date '+%F %T'----`$ip [ down ]" >> $downlog

#给管理员发邮件,提示有服务器网络断开

echo "$ip [ down ]" | mail -s "ERROR " root

fi

}&

#如果ip列表文件中IP地址有错误,直接提示哪行哪个IP地址写错。

else

echo -e "\033[31mError\033[0m : iplist file `grep -n $ip $iplist`" >> $downlog

fi

#从ip列表文件遍历每个IP地址

done

#每隔10秒监测一次

sleep 10

done

三、测试

运行脚本并让其后台执行

d0eb836b79f1

如果有服务器网络不通,管理员会收到邮件。

d0eb836b79f1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值