Monit 无法重新启动 apache

Monit 无法重新启动 apache

我已经在很多虚拟机上安装了 monit。除了这台虚拟机之外,其他都运行正常。

Monit 设置为监控 apache 并检查它是否已关闭。出于某种原因,monit 说 apache 已关闭(但实际上没有),需要重新启动。在尝试运行启动脚本后,它仍然显示“启动失败”。monit 日志如下:

[CEST Oct  4 20:16:21] error    : 'apache2' process is not running
[CEST Oct  4 20:16:21] info     : 'apache2' trying to restart
[CEST Oct  4 20:16:21] info     : 'apache2' start: /etc/init.d/apache2
[CEST Oct  4 20:16:52] error    : 'apache2' failed to start

此后 apache 服务器仍可工作,但 monit 仍显示未启动且将取消监控。

我的 apache 配置如下:

 check process apache2 with pidfile /var/run/apache/apache2.pid
   alert [email protected] but not on { pid }
   start program = "/etc/init.d/apache2 start"
   stop  program = "/etc/init.d/apache2 stop"
   if failed host vm01.domain.com port 80
        protocol HTTP request "/monit_check.html" then restart
   if cpu > 60% for 2 cycles then alert
   if 5 restarts within 5 cycles then timeout

该服务器是 ubuntu 14.01.1 LTS Linux 服务器。如能得到任何帮助,我们将不胜感激!

答案1

感谢 Paul Haldane(评论我的第一篇帖子),我找到了答案。我无法让 monit 运行到前台并显示详细内容。我忘了大写的 I。

我这样做之后,发现它找不到 pid - 原来是我输入了 PID 文件的路径,并将其设置为 apache 而不是 apache2。

感谢你们俩!

答案2

听起来好像无法访问“monit_check.html”页面。当您尝试自己在本地访问时,它可以正常工作吗?

curl http://vm01.d-cloud.nl/monit_check.html

这可能不是正确的语法(我可能错了):

if failed host vm01.d-cloud.nl port 80
    protocol HTTP request "/monit_check.html" then restart

尝试在“请求”之前放置“和”:

if failed host vm01.d-cloud.nl port 80 protocol HTTP
    and request "/monit_check.html"
then restart

相关内容