代码之家  ›  专栏  ›  技术社区  ›  Antarr Byrd

Monit Web服务(HTTPD)不可用

  •  0
  • Antarr Byrd  · 技术社区  · 9 年前

    我正在尝试使用chef solo和 monit cookbook 。当我访问2812端口时,回答说 this webpage is not available 。仅当通过web浏览器进行远程访问时。我在局部卷曲时获得了预期的内容。

    monit食谱

    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/*
    
    2 回复  |  直到 5 年前
        1
  •  1
  •   coderanger    9 年前

    如README中所述,您需要设置密码或 allow 要使用的节点属性的设置。否则,出于安全考虑,它们将被忽略。您可以查看 poise-monit 有关配置web UI的更详细说明的文档。

        2
  •  1
  •   Tensibai    9 年前
    set httpd port 2812
      use address 127.0.0.1
      allow admin:mybestpassword
    

    您只在localhost(127.0.0.1)上侦听,因此显然不会在远程呼叫上应答。

    阅读monit食谱自述(您链接的也是)有一个属性可以控制这一点:

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

    设置 default['monit']['address'] = '0.0.0.0' 将其配置为侦听所有可用接口。

    以及一个ACL,以允许文档中的上述注释,因此最终属性文件应包括(未测试):

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