Monit 在超时之前报告“无法停止”

Monit 在超时之前报告“无法停止”

我正在开始和停止一个过程通过 monit 使用以下语法:

stop program = "..." with timeout 90 seconds

一切运行良好,只是 Monitfailed to stop总是在一分钟后报告:

/var/log/monit.log

[EST Nov 11 11:04:09] info     : 'myprocess' stop: /bin/su
[EST Nov 11 11:05:09] error    : 'myprocess' failed to stop
[EST Nov 11 11:05:10] info     : 'myprocess' stop action done

我显然希望它等待 90 秒,而不是 60 秒。我做错了什么?

答案1

您的 Monit 守护进程检查间隔可能是 60 秒,因此检查周期发生在超时之前。

set daemon 60

你能发布你的整个 Monit 配置吗?你需要 90 秒的超时来停止进程,这有什么原因吗?

默认情况下,Monit 在查看进程列表时会等待 30 秒才能执行启动/停止命令。您可以尝试更短的时间吗with timeout

答案2

事实证明这是 Monit 中的一个错误:https://bitbucket.org/tildeslash/monit/issue/109/failed-to-stop-always-after-60-seconds 更新至 Monit >= 5.9 应该可以解决该问题。

相关内容