Bash Shell如何实现运维监控脚本
这篇文章给大家分享的是有关Bash Shell如何实现运维监控脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、功能分析
1.要知道服务器是否与公网联通最简单的办法就是ping一个公网的IP地址。
2.如果你ping一个公网的IP地址的话,存在单点故障啊,如果这个IP挂了呢,并不是服务器的原因呢,所以这里要选用两个IP。
3.在这里就选择google.cn和baidu.com,这两个一起挂的可能性几乎为0,这个安全级别是我们可以接受的。
4.如果发现网路不通(就是百度和谷歌都ping不通了)怎么通知我呢?就用联移的短信猫通知我,只需在数据库中插入一行数据即可。
二、代码功能实现构思
1.ping百度,把执行结果记录到一个临时文件中。ping通返回值为0,ping不通返回值为1.
2.ping谷歌,把执行结果记录到一个临时文件中。ping通返回值为0,ping不通返回值为1.
3.把上面两个命令的两个返回值交给一个变量。
4.判断这个变量的值。00为通,01或者10不能代表是服务器的问题。如果是11就肯定是服务器与外网断了。
5.这时需要报警给SA了。
三、代码实施
#!/bin/bash
#-----------Network Check And Send a Message BY 赵班长-----------
DOMAIN1=www.baidu.com
DOMAIN2=www.google.cn
USER=sms
PASSWORD=unixhot
MYSQLHOST=192.168.0.12
ping -c 2 $DOMAIN1 >/dev/null
echo -n $? > /tmp/network-status
ping -c 2 $DOMAIN2 >/dev/null
echo -n $? >> /tmp/network-status
STATUS=`cat /tmp/network-status`
if [ "$STATUS" -eq 11 ];then
/usr/bin/mysql -h $MYSQLHOST -u$USER -p$PASSWORD sms -e "insert into T_SendTask(DestNumber,Content) values('1368308*****','Network is Bad')"
fi
四、脚本执行。
1.加上执行权限,并执行。
2.手动进行断网测试。
3.检测是否运行正常。
4.根据生产环境的具体情况,应用到计划任务中。
感谢各位的阅读!关于"Bash Shell如何实现运维监控脚本"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!