我正尝试使用厨师独奏在我的服务器上configurationmonit。 当我访问端口2812响应说this webpage is not availble 。
set daemon 30 set pidfile /var/run/monit_real.pid set logfile syslog facility log_daemon set idfile /var/monit/id set statefile /var/monit/state set eventqueue basedir /var/monit/events slots 100 set httpd port 2812 allow admin:"secret" include /etc/monit/conf.d/*
package 'monit' do action :install end service "monit" do supports :status => true, :restart => true, :start => true,:stop => true action [ :enable, :start ] end directory '/etc/monit' do owner 'deploy' group 'deploy' mode '0755' recursive true action :create notifies :restart, resources(:service => "monit"), :immediate end cookbook_file '/etc/monit/monitrc' do source 'monitrc' owner 'deploy' group 'deploy' mode '0755' action :create end 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' execute 'sudo monit start all'
这部分是debugging为什么monit不会启动。
使用日志logfile syslog...的日志语句logfile syslog...你应该看看你的syslog守护进程的输出logging详细信息。 我修改了monitrc来使用一个文件来简化debugging,就像这样:
set logfile /var/log/monit.log
输出显示:
[UTC Mar 3 13:13:14] info : Starting monit daemon with http interface at [*:2812] [UTC Mar 3 13:13:14] error : Cannot open for write -- No such file or directory
所以其中一个configuration指令指向一个不存在的path。
您也可以交互地运行monit命令以获取更多详细信息。
/usr/bin/monit -c /etc/monit/monitrc -I -vv
这会发出很多很棒的debugging信息。
在这种情况下,我们可以看到相同的消息被重复:
Cannot open for write -- No such file or directory
不幸的是,输出没有告诉我们正在尝试哪个文件或目录。
看一下configuration,我们可以看到以/var/monit/开头的path,但没有关联的资源在Chef配方中创build这些path。
# ls /var/monit ls: cannot access /var/monit: No such file or directory
因此,这将表明monit守护进程正试图在不存在的path中打开/写入状态,id和队列文件。
Ubuntu软件包中用于监视/var/lib/monit/的默认path – 您可以更改您的configuration以使用该path,或者您可以将另一个资源添加到您的配方以创build所需的path。