0

早晨,

我有监视器,我正在 redhat 6.4 系统上进行测试。我设置了 /etc/init/monit.conf:

描述“监控服务管理器”

限制核心无限无限

从运行级别开始 [2345]

在运行级别停止 [!2345]

期待守护进程

重生

执行 /local/mis/monit/bin/monit -c /local/mis/monit/etc/monitrc

pre-stop exec /local/mis/monit/bin/monit -c /local/mis/monit/etc/monitrc quit

在命令行中,我可以以 root 身份运行 stop monit 和 start monit,它会显示 pid 号。但是,在重新启动期间,它不会启动。如果我运行 initctl list,它会显示没有 pid 的启动/运行,但如果你用 ps -ef 检查,monit 没有运行。我可以运行 stop monit,然后在重新启动后运行 start monit 就好了。我不知道如何进行故障排除。我的系统有 /var/log/messages,但没有 /var/log/syslog。我看到使用日志优先级信息的选项,但我不确定如何将其设置为重新启动期间的日志记录级别。/var/log/message 没有提到 monit 并且 /var/log/boot.log 也没有。dmesg 什么也没显示。

4

2 回答 2

0

这听起来像我们刚刚修复的同一个问题。我们以用户“monit”的身份运行monit。upstart 试图以 root 和拥有我的用户“monit”的 monit 文件启动它。我们得到了与你相同的症状。

为了修复它,我将 /etc/init/monit 更改为

exec su -c "/web/bin/monit -c /web/etc/monitrc" monit

现在当我开始monit我看到::

# start monit
monit start/running, process 3421
于 2013-08-21T19:20:48.553 回答
0

我最终使用的最终解决方案:描述“监控服务管理器”

开始 (net-device-up IFACE=eth0 并开始网络和运行级别 [2345]) 停止运行级别 [!2345] 限制核心无限无限制

期待守护进程重生

必须执行一个预启动脚本来循环,直到成功使用 monitrc 文件中列出的邮件服务器的 nslookup。

预启动脚本 while [ 0 ]; 做我=/usr/bin/nslookup outlookwebapp.na.sas.com | grep Name 如果[!-z "$i" ]; 然后 break fi sleep 4 done 结束脚本

执行 /local/mis/monit/bin/monit -c /local/mis/monit/etc/monitrc

pre-stop exec /local/mis/monit/bin/monit -c /local/mis/monit/etc/monitrc quit

于 2013-08-23T13:50:37.060 回答