用一个很小的脚本看网站是不是还活着
前一阵子我自己的一个小页面出过一次问题,页面其实已经打不开了,我却过了很久才知道。那次之后我就想,能不能有个很简单的方法,隔一阵子就去看一眼,页面还在不在。
办法并不复杂,就是用 curl 去请求一下首页,然后看返回的状态码。200 当然就是正常的,要是返回 404 或者 500,那多半就是哪里出问题了。光看状态码其实还不够,因为有时候服务器返回 200,页面内容却已经是报错页了,所以我后来又加了一个很粗糙的判断,就是看返回的内容里有没有我预期的一个关键词,没有的话也算异常。
这个脚本我放在定时任务里,每隔十分钟跑一次。跑完之后把结果写进一个很小的日志文件,正常的时候只记一行,异常的时候就多记一点,包括时间和状态码。这样一来,之后去查问题的时候,至少能知道它大概是从什么时候开始不正常的,而不是只能凭感觉猜。
不过这个办法也有它的边界。它只能告诉我页面能不能打开,并不能说明页面打开得快不快,也看不出来数据库那边是不是已经慢了。还有就是,如果检查得太频繁,对服务器本身也是一种负担,所以间隔不能设得太短。十分钟这个间隔,是我自己试下来觉得还算平衡的一个选择,不算很及时,但至少不会等到别人来告诉我才知道。
后来我又想到,检查脚本本身也可能出问题。比如服务器换了域名,或者证书过期了,curl 的表现就会和以前不太一样。所以脚本里对这些情况也要有点容错,不然它自己先报错了,反而会把真正的问题盖住。这一点我一开始没有想到,是后来调试的时候才慢慢补上的。
总的来看,这只是一个很小的工具,解决的也只是一个很小的问题。但对我这样一个人维护小项目的情况来说,有它在,心里会踏实不少,至少不用一直担心页面什么时候悄悄挂掉。
- 点赞
- 收藏
- 关注作者
评论(0)