Monit не запускает процесс - Ошибка выполнения

Я использую monit gem для мониторинга моего процесса sidekiq. Мой конфигурационный файл Monitrc: -

check process sidekiq_process with pidfile /home/path_to_pid
start program = "bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e development"  with timeout 60 seconds
stop program  = "bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e development"

Мой файл sidekiq.yml: -

 development:
:pidfile: tmp/pids/sidekiq_development.pid
:logfile: log/sidekiq_development.log
:concurrency: 1

После запуска sidekiq с использованием bundle exec sidekiq -d -L log/sidekiq.log -C config/sidekiq.yml -e development, а затем запуска sudo monit, sudo monit status дает мне это: -

Process 'sidekiq_process'
status                            Running
monitoring status                 Monitored
pid                               10951
parent pid                        1378
uid                               1000
effective uid                     1000
gid                               1000
uptime                            0m 
threads                           2
children                          0
memory                            103.4 MB
memory total                      103.4 MB
memory percent                    1.3%
memory percent total              1.3%
cpu percent                       0.0%
cpu percent total                 0.0%
data collected                    Mon, 13 Aug 2018 12:14:06

Итак, он отслеживает нормально, он даже отправляет мне сообщение «Не существует», когда я убиваю процесс sidekiq, но проблема в том, что после того, как процесс sidekiq убит, он также должен перезапустить процесс. Вот что sudo monit status выдает мне после убийства помощника

Process 'sidekiq_process'
status                            Execution failed
monitoring status                 Monitored
data collected                    Mon, 13 Aug 2018 12:19:13

Я также получаю сообщение "Ошибка выполнения".
Почему я получаю сообщение об ошибке "Ошибка выполнения" и почему monit не перезапускает процесс?


person Umesh Malhotra    schedule 13.08.2018    source источник
comment
когда процесс убит, можете ли вы подтвердить, удален ли pid в файле tmp/pids/sidekiq_development.pid?   -  person Kedarnag Mukanahallipatna    schedule 13.08.2018
comment
Нет, файл не удаляется, он все еще содержит pid (в данном случае - 10951), хотя я получаю оповещение mail monit - Не существует Service sidekiq_process   -  person Umesh Malhotra    schedule 13.08.2018
comment
Я сам не использовал Monit, можете ли вы взглянуть на read_the_last_comment и это   -  person Kedarnag Mukanahallipatna    schedule 13.08.2018


Ответы (1)


оберните команду exec в сценарий оболочки и chmod +x, и проверьте мой ответ здесь

person Viktova    schedule 14.08.2018
comment
Вместо этого я решил использовать глазной камень - person Umesh Malhotra; 14.08.2018