这篇文章主要为大家展示了“nagios页面监控脚本是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“nagios页面监控脚本是怎么样的”这篇文章吧。
写这个脚本的目的是这样的:虽然公司用的是nagios来监控所有的服务器信息并且设置了检查3次后会发送短信报警,但是觉得3次后在报警问题已经发生了半天了,这时响应就慢了... (什么?你说改成1分钟一次而且出一次问题就报警,那好吧!祝您的短信收件箱早日爆掉,晚上被报警烦的不能睡觉。有很多报警其实不是因为服务真的出问题了,不是吗!),那么有没有折中的办法呢?写这么一个脚本用他来帮忙去盯着nagios的页面,只要页面上的 出现WARNING CRITICAL Unhandled 等字样就立刻发邮件,这时可以通过邮件提醒或者别的什么方法通知你,这样就可以在第一时间去查看哪个服务出了问题。(如果非要找一个人上班时间一直盯着 监控页面我也不反对...当然有的公司弄了面电视墙上面全是监控信息的例外)
好了废话不多说,nagios的web上一般都有一个能看到所有服务页面,我把所有服务器都定义了hostgroup组,这样在summary页面上可以看到所有服务器的概况,如下图:
这个页面的地址为:http://www.xman.com/nagios/cgi-bin/status.cgi?hostgroup=all&style=summary
(修改了原始地址如有雷同纯属巧合)
下面就简单了,用curl获取网页信息 并进行过滤,得到我们要的结果就ok了,具体脚本如下:
#!/bin/bash
#Author: storysky
#This script will test the nagios page and get Warning or Critical's number
curla=$(curl "http://www.xman.com/nagios/cgi-bin/status.cgi?hostgroup=all&style=summary">
if [ $curla -gt 0 ];
then
echo "The xman have Warning or Critical" | mail -s "The xman page have Warning or Critical" storysky@gmail.com
fi
curlb=$(curl "http://www.UFO.com/nagios/cgi-bin/status.cgi?hostgroup=all&style=summary" -uUFO:UFO123 -s |awk '/WARNING|CRITICAL|Unhandled/' |wc -l)
if [ $curlb -gt 0 ];
then
echo "The UFO have Warning or Critical" | mail -s "The UFO page have Warning or Critical" storysky@gmail.com
fi
至于担心mail 发不出去邮件请看我之前的一篇文章 《你的mail 经常发不出去邮件吗》
http://storysky.blog.51cto.com/628458/631267
把他放到 计划任务里面 在上班时间分钟执行一次,(为什么下班时间不用?,因为下班时间给我发了也看不到)
*/1 10-19 * * 1-5 /scripts/auto_nagios.sh
以上是“nagios页面监控脚本是怎么样的”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。