Monit 检测到错误,但不重新启动星号

Monit 检测到错误,但不重新启动星号

我正在运行 Ubuntu 13.04,并安装了相应版本的 monit(5.5-6)和 asterisk(1.8.13.1)。我已设置 monit 来监视我的 asterisk 日志文件,以查看是否与我的 SIP 提供商断开连接,并重新启动 asterisk 以建立新连接。以下是 monit 监视脚本的相关部分:

check file messages with path "/var/log/asterisk/messages" 
    start program = "/etc/init.d/asterisk start"
    stop program = "/etc/init.d/asterisk stop"
    if match "Retransmission timeout reached" then restart and noalert [email protected]
    if match "timed out, trying again \(Attempt " then restart and noalert [email protected]

错误检测工作正常,当条件满足时我会收到邮件。Monit 也会停止 asterisk 守护进程,并且 /var/run 中的相应 PID 文件会被正确删除。但是 asterisk 不会再次启动。monit 或 asteriks 日志文件中没有相应的错误。

在这种情况下,错误是什么?我可以在哪里找到更多调试信息?

答案1

有时您需要在非守护进程模式下以最高详细程度运行 monit,同时引发错误(例如,将要监视的字符串回显到日志文件中),以确定问题是什么。

停止 monit 并使用以下命令启动它:

monit -c /path/to/monit.conf -vv -I 2>&1 | tee /tmp/monit_debug.log

引发错误并报告您所看到的内容。

相关内容