No. If you'll change the start+stop commands inside monit to "monit <action> 
<service>" then monit will enter endless loop (given by the configuration) and 
recursively call itself. The start/stop commands have to be able to start/stop 
the service.

Regards,
Martin


On Jun 4, 2013, at 10:35 AM, frwa onto <[email protected]> wrote:

> Dear Martin,
>                   Thank you for you input yes I was always stopping it via 
> service mysqld stop which is wrong here then. How about these ? Should I also 
> change them to monit start mysql and monit stop mysql?
> Start program        = '/etc/init.d/mysqld start' timeout 30 second(s)
>  Stop program         = '/etc/init.d/mysqld stop' timeout 30 second(s)
> 
> 
> Regards,
> Frwa.
> 
> 
> On Tue, Jun 4, 2013 at 2:01 AM, Martin Pala <[email protected]> wrote:
> If the service is monitored by monit, the stop/start should be done via 
> monit. If you'll stop mysql via upstart directly ("stop mysqld") wihtout 
> letting monit know about the stop, then monit will try to restart the process 
> (if the pidfile will be removed  or the given PID doesn't exist). The correct 
> way to stop monitored process is either: "monit stop mysqld" or "monit 
> unmonitor mysql" (which disabled the monitoring) - then you can do any manual 
> action without triggering monit automatic recovery.
> 
> The "1 times within 1 cycle" is just verbose expansion of then testing rule 
> and means "perform action on first error" - and as the "cycle" word hints, 
> it's based on the monit cycle length (configured with "set daemon X"). If you 
> need more "solid" error  before the action (such as 8 failures within 10 
> cycles), then you can use the extended options.
> 
> See monit manual for more details: 
> http://www.mmonit.com/monit/documentation/monit.html
> 
> Regards,
> Martin
> 
> 
> 
> On Jun 3, 2013, at 6:31 AM, frwa onto <[email protected]> wrote:
> 
>> Dear Martin,
>>                  Sorry kind of new to using the features. I did monit -v so 
>> I found there is nt log file enabled. If you notice I have now changed it to 
>> 127.0.0.1. So what will be on the look for this file right 
>> /var/run/mysqld/mysqld.pid ? Say when I stop mysql will this file will be 
>> gone. So then what will monit do run the stop is it? Then run the start? Can 
>> I ask for run and stop to be service mysqld stop and service mysqld start? 
>> Kind of confuse with these statement "with timeout 5 seconds and retry 0 
>> time(s) 1 times within 1 cycle(s) then restart else if succeeded 1 times 
>> within 1 cycle(s) then alert" What is the 1 times within 1 cycle is it 
>> within the 1 minute of polling? Thank you.
>> 
>> monit -v
>> monit: Debug: Adding host allow 'localhost'
>> monit: Debug: Skipping redundant host 'localhost'
>> monit: Debug: Skipping redundant host 'localhost'
>> monit: Debug: Skipping redundant host 'localhost'
>> monit: Debug: Skipping redundant host 'localhost'
>> monit: Debug: Skipping redundant host 'localhost'
>> monit: Debug: Adding credentials for user 'admin'.
>> monit: Adding PAM group 'monit'.
>> monit: Adding PAM group 'users'.
>> Runtime constants:
>>  Control file       = /etc/monit.conf
>>  Log file           = (not defined)
>>  Pid file           = /var/run/monit.pid
>>  Id file            = /var/monit/id
>>  Debug              = True
>>  Log                = False
>>  Use syslog         = False
>>  Is Daemon          = True
>>  Use process engine = True
>>  Poll time          = 60 seconds with start delay 0 seconds
>>  Expect buffer      = 256 bytes
>>  Mail server(s)     = smtp.gmail.com:587(ssl) with timeout 30 seconds
>>  Mail from          = (not defined)
>>  Mail subject       = (not defined)
>>  Mail message       = (not defined)
>>  Start monit httpd  = True
>>  httpd bind address = localhost
>>  httpd portnumber   = 2812
>>  httpd signature    = True
>>  Use ssl encryption = False
>>  httpd auth. style  = Basic Authentication and Host/Net allow list
>>  Alert mail to      = *******@****.com
>>    Alert on         = All events
>>  Alert mail to      = *****@***.com
>>    Alert on         = All events
>> 
>> The service list contains the following entries:
>> 
>> Process Name          = mysqld
>>  Pid file             = /var/run/mysqld/mysqld.pid
>>  Monitoring mode      = active
>>  Start program        = '/etc/init.d/mysqld start' timeout 30 second(s)
>>  Stop program         = '/etc/init.d/mysqld stop' timeout 30 second(s)
>>  Existence            = if does not exist 1 times within 1 cycle(s) then 
>> restart else if succeeded 1 times within 1 cycle(s) then alert
>>  Pid                  = if changed 1 times within 1 cycle(s) then alert
>>  Ppid                 = if changed 1 times within 1 cycle(s) then alert
>>  Port                 = if failed [127.0.0.1:3306 [MYSQL via TCP] with 
>> timeout 5 seconds and retry 0 time(s) 1 times within 1 cycle(s) then restart 
>> else if succeeded 1 times within 1 cycle(s) then alert
>>  Timeout              = If restarted 5 times within 5 cycle(s) then unmonitor
>> 
>> System Name           = localhost.localdomain
>>  Monitoring mode      = active
>> 
>> -------------------------------------------------------------------------------
>> monit daemon with PID 8592 awakened
>> 
>> 
>> 
>> On Sun, Jun 2, 2013 at 4:43 PM, Martin Pala <[email protected]> wrote:
>> Hi,
>> 
>> please check monit logs and "monit status" for mysqld. You can run monit in 
>> debug mode using "-v" option to see more details.
>> 
>> From the description i'm not sure exactly what happened - it seems that 
>> mysql was running and you tried to kill/stop it to see whether monit will 
>> recover it? As you have two tests, the mysql error should be detected when 
>> the process stops (i.e. the PID in the /var/run/mysqld/mysqld.pid file is 
>> not present in the process table) and/or if the connection fails.
>> 
>> As Sven correctly pointed out the 127.0.1.1 is wrong, so the connection test 
>> probably always failed. Because you have restart action on connection 
>> failure, monit will try to restart it - and since there is also the timeout 
>> statement, it'll give up after 5 attempts and will disable the service 
>> monitoring.
>> 
>> My guess is, that the misconfigured connection test (127.0.1.1 instead of 
>> 127.0.0.1) caused monit to restart mysql five times (as the test failed 
>> after the restart too), which led to service unmonitoring => monit most 
>> probably doesn't watch mysql anymore and if you killed it, it won't restart 
>> it.
>> 
>> The solution if this state is to fix the configuration (127.0.1.1 -> 
>> 127.0.0.1) and enable mysql monitoring again: "monit monitor mysqld"
>> 
>> 
>> Regards,
>> Martin
>> 
>> 
>> 
>> On Jun 2, 2013, at 10:19 AM, frwa onto <[email protected]> wrote:
>> 
>>> Hi,
>>>     I have tried both 127.0.1.1 and 127.0.0.1 but yet its not working what 
>>> else could be done?
>>> 
>>> 
>>> On Sun, Jun 2, 2013 at 12:58 AM, frwa onto <[email protected]> wrote:
>>> Sorry I got mixed up what different will 127.0.1.1 make indeed? Thank you .
>>> 
>>> 
>>> On Sun, Jun 2, 2013 at 12:55 AM, frwa onto <[email protected]> wrote:
>>> What ROFL ?
>>> 
>>> 
>>> On Sun, Jun 2, 2013 at 12:44 AM, sven falempin <[email protected]> 
>>> wrote:
>>> 
>>> ROFL ROFL
>>> 
>>> WELCOME TO FAIL
>>> ProTip stop using your brain use CTRL+F or /
>>> 
>>> 
>>> 
>>> On Sat, Jun 1, 2013 at 11:03 AM, frwa onto <[email protected]> wrote:
>>> Hi Sven,
>>>             I already have it as 127.0.0.1 see below
>>> check process mysqld with pidfile /var/run/mysqld/mysqld.pid
>>>    start program = "/etc/init.d/mysqld start"
>>>    stop program = "/etc/init.d/mysqld stop"
>>>    if failed host 127.0.1.1 port 3306 protocol mysql then restart
>>>    if 5 restarts within 5 cycles then timeout
>>> 
>>> 
>>> On Sat, Jun 1, 2013 at 8:25 PM, sven falempin <[email protected]> 
>>> wrote:
>>> 127.0.1.1
>>> 
>>> xd
>>> 
>>> 
>>> On Sat, Jun 1, 2013 at 2:58 AM, frwa onto <[email protected]> wrote:
>>> Hi All,
>>>         We have this in our monit.conf. Earlier it was working smoothly 
>>> when mysql goes down. Recently I just tried to stop mysqld and the monit 
>>> did not restart it. But in the top I can see monit is running and I am 
>>> using upstart so I just kill and it respawn again. Below is part of the 
>>> config file.
>>> 
>>> 
>>> check process mysqld with pidfile /var/run/mysqld/mysqld.pid
>>>    start program = "/etc/init.d/mysqld start"
>>>    stop program = "/etc/init.d/mysqld stop"
>>>    if failed host 127.0.1.1 port 3306 protocol mysql then restart
>>>    if 5 restarts within 5 cycles then timeout
>>> 
>>> 
>>> Regards,
>>> Frwa.
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> 
>>> -- 
>>> ---------------------------------------------------------------------------------------------------------------------
>>> () ascii ribbon campaign - against html e-mail 
>>> /\ 
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> 
>>> -- 
>>> ---------------------------------------------------------------------------------------------------------------------
>>> () ascii ribbon campaign - against html e-mail 
>>> /\ 
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>> 
>> 
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
>> 
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> 
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general

--
To unsubscribe:
https://lists.nongnu.org/mailman/listinfo/monit-general

Reply via email to