我的 ubuntu 6.06 LTS 服务器上的 apache 2.2 有问题,一些旧的 rails 站点正在产生 seg 错误和各种疯狂,这似乎最终拖累了 apache。我正在将它们迁移到带有 nginx 和乘客的 8.04 安装,其中错误已被压扁 - 但这需要时间,直到那时我试图设置 monit 以在 apache 停止响应时拯救它:
if failed host www.site.com port 80 protocol http
and request "/" with timeout 5 seconds for 2 cycles
then restart
50% 的时间,成功重新启动 apache 并节省了时间,但是,另外 50% 的时间 apache 死了,monit 什么也不做。当我检查监控状态时,它在此处显示响应时间为 -1:
port response time 0.061s to www.site.com:80/ [HTTP via TCP]
其中 0.061s 将是 -1。我似乎找不到任何解释 -1 的文档,或者为什么 -1 似乎被失败的声明忽略了。
我能做些什么来确保 monit 捕获 100% 的故障吗?或者任何人都可以阐明-1以及如何处理它?