monit-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Monit did not restart mysql


From: frwa onto
Subject: Re: Monit did not restart mysql
Date: Fri, 7 Jun 2013 23:13:49 +0800

Dear Martin,
                  If I do monit stop mysqld. Does it suppose to restart by itself or it will permanently stop it? I am kind of confuse with this " set alert address@hidden but not on { action }". What is that exactly I should be doing?

Regards,
Frwa.


On Wed, Jun 5, 2013 at 12:55 AM, Martin Pala <address@hidden> wrote:
The manual action event can be filtered out, for example:

        set alert address@hidden but not on { action }

See monit manual for more details: http://www.mmonit.com/monit/documentation/monit.html#alert_messages

The logfile settings - syslog or monit controlled file are equal, it just depends on your preference.


On Jun 4, 2013, at 3:29 PM, frwa onto <address@hidden> wrote:

> Dear Martin,
>                  Thank you for the start+stop command. The issue now when I do this monit stop mysqld and monit start mysqld I get email for both events. Why when I monit stop mysqld it does not show up message as how I do like this service mysqld stop? Secondly once I monit stop mysqld it did not restart? I have just uncomment this line set logfile syslog facility log_daemon. Then I did was initctl stop and then initctl start mysql. Next when I did this monit -v I can see now Log file = syslog. Is this correctly done is better to specific my own log file say /usr/local/monit.log. Thank you.
>
> Regards,
> Frwa.
>
>
>
> On Tue, Jun 4, 2013 at 4:50 PM, Martin Pala <address@hidden> wrote:
> 1.) these are OK:
>
>       Stop program = '/etc/init.d/mysqld stop'
>
>       Stop program = '/sbin/stop mysqld'
>
>
> 2.) this is NOT OK:
>
>       Stop program = '/usr/bin/monit stop mysqld'
>
>
> Regards,
> Martin
>
>
>
> On Jun 4, 2013, at 10:46 AM, frwa onto <address@hidden> wrote:
>
>> Dear Martin,
>>                   Why I cant use service mysqld stop and start for the start+stop command? Am I using the correct one? Thank you.
>>
>> Regards,
>> Frwa.
>>
>>
>> On Tue, Jun 4, 2013 at 4:38 PM, Martin Pala <address@hidden> wrote:
>> 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 <address@hidden> 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?
>>> c 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 <address@hidden> 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 <address@hidden> 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      = address@hidden
>>>>    Alert on         = All events
>>>>  Alert mail to      = address@hidden
>>>>    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 <address@hidden> 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 <address@hidden> 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 <address@hidden> 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 <address@hidden> wrote:
>>>>> What ROFL ?
>>>>>
>>>>>
>>>>> On Sun, Jun 2, 2013 at 12:44 AM, sven falempin <address@hidden> 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 <address@hidden> 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 <address@hidden> wrote:
>>>>> 127.0.1.1
>>>>>
>>>>> xd
>>>>>
>>>>>
>>>>> On Sat, Jun 1, 2013 at 2:58 AM, frwa onto <address@hidden> 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
>>
>> --
>> 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

[Prev in Thread] Current Thread [Next in Thread]