Автор Тема: Monit - настройка  (Прочетена 1277 пъти)

globaluty

  • Напреднали
  • *****
  • Публикации: 96
    • Профил
Monit - настройка
« -: Sep 04, 2015, 15:18 »
Здравейте, в момента следя процес с монит и съм въвел следните правила за него в monitrc

check process NAME with pidfile /home/user/1.pid
start program = "/bin/sh /home/user/" with timeout 60 seconds
stop program  = "/bin/sh /home/user/stop.sh" with timeout 60 seconds
if cpu usage > 0% for 1 cycles then stop
if not exist for 1 cycle then alert
if 5 restarts within 5 cycles then stop

В случая не желая да използвам start опцията на монит, затова съм задал некоректен път. Ако махна целия ред start program, целия монит daemon забива, не знам защо.

Не желая да ползвам опцията за старт, а само за стоп, защото когато се спре дадения процес, той се стартира сам през друг софтуер.

Въпросът ми е как да го направя след като веднъж процесът бъде спрян от Монит, да продължи да го следи и да НЕ минава в статус Not Monitored. Също ако знаете защо така забива монит демона, можете да споделите.

Благодаря предварително.
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Re: Monit - настройка
« Отговор #1 -: Sep 04, 2015, 16:17 »
Принципно когато искаш да направиш нещо с даден софтуерен продукт и не знаеш как - първото нещо, което трябва да направиш е да погледнеш в официалната документация. Там най-вероятно го пише... Защо не вземеш да провериш? https://mmonit.com/monit/documentation/monit.html#SERVICE-MONITORING-MODE
Активен

globaluty

  • Напреднали
  • *****
  • Публикации: 96
    • Профил
Re: Monit - настройка
« Отговор #2 -: Sep 04, 2015, 17:41 »
Документацията съм я гледал десетки пъти. Щом не съм намерил отговор там, пиша тук.

Все пак единственото, което измислих, е да направя cron задача на всяка минута monit monitor servicename.

Ако имаш идея за друг начин, сподели. :)
Активен

d0ni

  • Напреднали
  • *****
  • Публикации: 183
    • Профил
Re: Monit - настройка
« Отговор #3 -: Sep 04, 2015, 18:53 »
Няма ли да стане, ако сложиш /bin/true за start program? :)
Активен

BRADATA

  • Напреднали
  • *****
  • Публикации: 833
  • Distribution: Slackware/Mint/CentOS
  • Window Manager: console/KDE/LXDE
    • Профил
    • WWW
Re: Monit - настройка
« Отговор #4 -: Sep 04, 2015, 19:24 »
Разбира се, че ще стане. Както и всеки скрипт, който след стартирането върне exit status 0. Но след като си прочел документацията предполагам си видял, че има определен брой цикли, в които ако няма успех, наблюдавания процес преминава в режим erorred и спира да бъде наблюдаван. Трябва да измислиш начин да не изпадне системата в безкраен лууп. Пиша общо, но това е защото няма никакви подробности във въпроса ти.
Активен

globaluty

  • Напреднали
  • *****
  • Публикации: 96
    • Профил
Re: Monit - настройка
« Отговор #5 -: Sep 08, 2015, 13:22 »
Няма ли да стане, ако сложиш /bin/true за start program? :)

Да, така се получи да не минава повече в Not Monitored статус. Само че в момента на някои процеси им показва Executaion failed, а пък ги вижда, че са онлайн. Въпреки това, дори и да са офлайн въпросните процеси, трябва да им изписва Does not exist, вместо Executaion failed, защото съм задал if does not exist for 1 cycle then alert

Може би това се случва, когато Монит убие процеса, но той не се стартира от другия софтуер по друга причина. Тогава след като го стартирам ръчно процеса, Монит му засича пидовете и всички неща, но статуса все още е Execution failed, въпреки че му брои Uptime и статус: monitored. Трябва да му дам Disable Monitoring и след това Enable и чак тогава изписва Running, както трябва да си е.

Някакви идеи ?
« Последна редакция: Sep 08, 2015, 13:29 от globaluty »
Активен