|
From: | Alexander Litvak |
Subject: | Help with action methods |
Date: | Mon, 28 Apr 2014 08:02:07 +0000 |
I am trying to use monit in our organization and I got confused by few things. Can one of you help me? 1.
I wanted to use check program to check a status of existing application So I placed this entry check program app with path "/home/alex/bin/app_ctl status" start program = "/home/alex/bin/app_ctl start" as uid alex and gid alex stop program = "/home/alex/bin/app_ctl stop" as uid alex and gid alex if status != 0 then restart Monit detected my application being down but then said that Stop, start, or restart methods are not defined for process check app 2.
This app listens on sip port so I wanted to check for response and restart if it fails. check host myhost with address "myhost" start program = "/home/alex/bin/app_ctl start" as uid alex and gid alex stop program = "/home/alex/bin/app_ctl stop" as uid alex and gid alex if failed port 5060 type UDP protocol SIP with target "myhost:5060" and maxforward 1 then restart Monit detected my application being unresponsive but then said that “Stop, start, or restart methods are not defined for process check myhost” I see that if I use check process with pid | match action stop / start methods do work. But documents are not clear on the scope of the action methods, at least it is not clear to me why alert, monitor, exec would work and stop
/ start / restart not in this case. I am sure I am doing something wrong here but I am new to this project. I tried using exec instead of start restart . My app_ctl can do restart as well. But I noticed that for some reason this is not very reliable as exec cycles through multiple restarts until the whole thing settles down. I am doing something like check program app with path "/home/alex/bin/app_ctl status” if status != 0 then exec = "/home/alex/bin/app_ctl restart" as uid alex and gid alex It seems to me that negative status is being retained in the next cycle. It keeps restarting the process at least several times. I ran exec with start instead of the restart and after it successfully started process on the first
cycle it attempted to start it again which my app_ctl objected to with message App is still running please stop it first... Two cycles later I see the messages (running in console mode for debugging) monit: Cannot open proc file /proc/15247/stat -- No such file or directory system statistic error -- cannot read /proc/15247/stat monit: Cannot open proc file /proc/15248/stat -- No such file or directory system statistic error -- cannot read /proc/15248/stat monit: Cannot open proc file /proc/15249/stat -- No such file or directory system statistic error -- cannot read /proc/15249/stat Needless to say I have tested my app_ctl script and running it from shell I can stop start and restart app without any issues. It properly detects PID and status of app. Sorry for a long post, monit got me excited because it presented many interesting opportunities and has a long history. Any help would be appreciated. Alex |
[Prev in Thread] | Current Thread | [Next in Thread] |