Monit Web 服务 (HTTPD) 不可用

Monit Web Service(HTTPD) not available

我正在尝试使用 chef solo 和 monit cookbook 在我的服务器上配置 monit。当我访问端口 2812 响应时说 this webpage is not available。这仅在通过 Web 浏览器远程访问时有效。我在本地卷曲时得到了预期的内容。

监视食谱

include_recipe 'monit'

cookbook_file '/etc/monit/conf.d/puma.conf' do
  source 'monit-puma'
  owner 'deploy'
  group 'deploy'
  mode '0755'
  action :create
end

cookbook_file '/etc/monit/conf.d/nginx.conf' do
  source 'monit-nginx'
  owner 'deploy'
  group 'deploy'
  mode '0755'
  action :create
end

execute 'sudo monit reload'

/etc/monit/conf.d/compat.conf

set httpd port 2812
  use address 127.0.0.1
  allow admin:mybestpassword

默认属性

default['monit']['port'] = '2812'
default['monit']['username'] = 'admin'
default['monit']['password'] = '...'
default['monit']['address'] = '0.0.0.0'
default['monit']['allow'] = ['0.0.0.0']

平衡监测更新

monit 'monit' do
  daemon_interval 30
  event_slots 1000
  httpd_port 2812
  httpd_username 'admin'
  httpd_password 'Password1'
  group 'deploy'
end

镇静食谱

monit 'monit' do
  daemon_interval 30
  event_slots 1000
  httpd_port 2812
  httpd_username 'admin'
  httpd_password 'Password1'
  group 'deploy'
end


monit_config 'nginx' do
  source 'monit_nginx.conf.erb'
end


monit_config 'puma' do
  source 'monit-puma.conf.erb'
end

poise-monit 生成 /etc/monit/monitrc

# Generated by Chef for monit[monit]

SET PIDFILE /var/run/monit_real.pid

SET LOGFILE /var/log/monit.log

SET IDFILE /var/lib/monit/id
SET STATEFILE /var/lib/monit/state
SET EVENTQUEUE BASEDIR /var/lib/monit/events SLOTS 1000

SET HTTPD PORT 2812
  ALLOW admin:Password1

INCLUDE /etc/monit/conf.d/*
set httpd port 2812
  use address 127.0.0.1
  allow admin:mybestpassword

您只在本地主机 (127.0.0.1) 上监听,因此显然不会在远程呼叫时应答。

阅读 monit cookbook 自述文件(您也链接的那个)有一个属性可以控制它:

node['monit']['address'] – Local address to bind to for Monit's HTTPD interface. (default: nil)

在您的 cookbook 属性文件中设置 default['monit']['address'] = '0.0.0.0' 以将其配置为侦听所有可用接口。

还有一个 ACL 允许根据上面文档中的评论,所以最终属性文件应该包括(未测试):

default['monit']['address'] = '0.0.0.0'
default['monit']['allow'] = ['0.0.0.0']

如 README 中所述,您需要为要使用的节点属性设置密码或 allow 设置。否则,为了安全,它们将被忽略。您可以查看 poise-monit 文档以获取有关配置 Web UI.

的更详细说明