您的位置:首页 > 运维架构

案例:本地脚本监控web容器

2011-04-14 18:29 176 查看
之前有tomcat出现过两次内存溢出的故障,这种故障无法从系统和网络层监控。目前的解决方案是:监控测试url。

思路:在所有tomcat下加上测试url,在监控机上定时抓取这个测试url并分析返回值。

例子:
有如下测试url:
http://10.10.10.1/a.txt
所在位置是:10.10.10.1的/tomcat6
1:创建url表:urlslist
#cat urlslist
http://10.10.10.1/a.txt=10.10.10.1(/tomcat6)
2:编写监控脚本:
vi alltomcattest.sh

#!/bin/sh
time=`date +%Y%m%d"-"%T`#获得日期
/bin/echo "$time" >>/usr/local/shell/alltomcattest/alltomcattestlog#将日期写入日志
time1=`date +%T` #获得时间
telnum="13811111111"#设置接受告警的手机
for i in `cat /usr/local/shell/alltomcattest/urlslist`
do
url=`/bin/echo $i|awk -F '=' '{printf $1}'`#获取url表中的url
location=`/bin/echo $i|awk -F '=' '{printf $2}'`
return=`wget --output-document=/dev/null $url 2>&1|grep 200|grep OK`#访问测试url查看是否能返回200
if [ -n "$return" ];then
/bin/echo "$location is good" >>/usr/local/shell/alltomcattest/alltomcattestlog#检测结果写入日志
else
/bin/echo "$location is error" >>/usr/local/shell/alltomcattest/alltomcattestlog
[align=left]Wget --output-document=/dev/null http://10.10.10.2/message.php?phone=$telnum&msg=$location is error.$time1[/align]
#用10.10.10.2上的一个php脚本实现飞信告警
fi
done
本文出自 “稀饭吃了不顶饿” 博客,请务必保留此出处http://chcearth.blog.51cto.com/2179839/545173
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: