Я пытаюсь настроить monit на своем сервере с помощью chef solo. Когда я захожу на порт 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'
Частично это объясняется тем, почему monit не запускается.
С записью журнала logfile syslog...
вы должны посмотреть на вывод вашего syslog daemon, чтобы узнать подробности регистрации. Я изменил monitrc, чтобы использовать файл для более простой отладки, например:
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
Итак, одна из директив конфигурации указывает на несуществующий путь.
Вы также можете запустить команду monit в интерактивном режиме, чтобы получить более подробную информацию.
/usr/bin/monit -c /etc/monit/monitrc -I -vv
Это выдаст много отличной отладочной информации.
В этом случае мы видим, что повторяется одно и то же сообщение:
Cannot open for write -- No such file or directory
К сожалению, вывод не сообщает нам, какой файл или каталог выполняется.
Глядя на конфигурацию, мы видим пути, которые начинаются с /var/monit/
- но нет связанного ресурса для создания этих путей в рецепте Chef.
# ls /var/monit
ls: cannot access /var/monit: No such file or directory
Таким образом, это будет означать, что демон monit пытается открыть / записать файлы состояния, идентификатора и очереди по несуществующему пути.
Пути по умолчанию, используемые в пакете Ubuntu для мониторинга /var/lib/monit/
- вы можете изменить свою конфигурацию, чтобы использовать этот путь, или вы можете добавить другой ресурс в свой рецепт, чтобы создать желаемый путь.