安装 monit 后,当我执行 monit status myproc 时出现“连接到 monit 守护进程时出错”
我在某处读到
如果 monit 以守护进程模式运行且不支持 http,status 命令将不起作用 - 在这种情况下,命令“monit status”将尝试通过 http/tcp 从守护进程获取状态。要启动 http 接口,您需要将“set httpd ...”语句添加到配置中。
那还是正确的吗?那篇帖子是 2005 年的
答案1
我正在努力在我的 ubuntu 服务器上设置 monit,这里有几件事需要检查:
- 确保在 /etc/default/monit 中设置 startup=1
- 确保取消注释 /etc/monit/monitrc 中的 httpd 参数
/etc/monit/monitrc 中的最后一个“陷阱”:
set daemon 120 # check services at 2-minute intervals
# with start delay 240 # optional: delay the first check by 4-minutes (by
# # default Monit check immediately after Monit start)
一开始我取消了“with start delay 240”行的注释。看来如果使用此选项,httpd 服务器不会立即启动。我花了一段时间才明白为什么 monit 在运行,而 httpd 服务器却没有运行。
答案2
set httpd port 2812 and
use address 0.0.0.0
allow 0.0.0.0/0.0.0.0
allow admin:monit
我认为这个更好,它会添加一个网页来查看监控结果,用户名和密码分别是admin和monit。
答案3
为了使其工作,您必须设置 monit httpd 进程以允许来自本地主机的连接。
在您的配置文件中,您应该取消注释该行allow localhost
并重新启动 monit。
答案4
确保已启用 HTTP 守护程序并添加允许 localhost。有一篇文章介绍如何正确配置 monit 以避免此错误这里。