You can keep the "depends on nginx" as well (if the parent nginx service will 
be restarted, it will suppress the child service test during the restart).


On Nov 2, 2012, at 10:16 PM, "Houssan A. Hijazi" <[email protected]> wrote:

> Hi,
> 
> thanks for your hint.
> 
> i don't need put: depends on nginx ?
> 
> Thanks
> 
> 
> 
> 2012/11/2 Martin Pala <[email protected]>
> I'm sorry i provided wrong hint - the child service restart action doesn't 
> trigger the parent's service restart (the action cascades from parents to 
> children but bot vice versa).
> 
> The correct way to restart the nginx and prevent th race condition between 
> the two checks is:
> 
> check program webserverresponse with path /home/myhome/webserver_response.sh
>     if status  == 502 then exec "/usr/bin/monit restart nginx"
> 
> Regards,
> Martin
> 
> 
> 
> On Nov 1, 2012, at 6:19 PM, "Houssan A. Hijazi" <[email protected]> 
> wrote:
> 
>> Hi,
>> 
>> this rule is not work:
>> 
>> check program webserverresponse with path /home/myhome/webserver_response.sh
>>     if status  == 502 then restart
>>     depends on nginx
>> 
>> if i run /home/myhome/webserver_response.sh in terminal it print 502 but the 
>> monit not restart.
>> 
>> Can you help me?
>> 
>> thanks
>> 
>> 2012/11/1 Houssan A. Hijazi <[email protected]>
>> Thanks, Martin
>> 
>> 
>> 2012/11/1 Martin Pala <[email protected]>
>> Hi,
>> 
>> the "check program" was added in Monit 5.3 ... you need to upgrade monit.
>> 
>> Regards,
>> Martin
>> 
>> 
>> On Nov 1, 2012, at 2:59 PM, "Houssan A. Hijazi" <[email protected]> 
>> wrote:
>> 
>>> Hi,
>>> 
>>> i created the file like this:
>>> 
>>> #!/bin/bash
>>> curl -o /dev/null --silent --head --write-out '%{http_code}\n' 
>>> http://www.mysite.org
>>> 
>>> it return the http response code.
>>> 
>>> in monit configuration i do:
>>> 
>>> check process nginx
>>>   with pidfile /dh/nginx/servers/httpd-myserver/var/logs/nginx.pid 
>>>   start program = "/etc/init.d/nginx start"
>>>    stop program = "/etc/init.d/nginx stop"
>>>    if failed host www.mysite.org port 80 protocol HTTP then restart #set 
>>> your server IP that runs nginx
>>>    if 5 restarts with 5 cycles then alert
>>> check program webserverresponse with path /home/myhome/webserver_response.sh
>>>     if content == "502" then restart
>>>     depends on nginx
>>> 
>>> When i try  start monit:
>>> 
>>> $ sudo /etc/init.d/monit start
>>> Starting daemon monitor: Syntax error:
>>> /etc/monit/conf.d/nginx.conf:7: Error: syntax error 'webserverresponse'
>>> 
>>> Monit version: 1:5.1.1-1
>>> 
>>> thanks
>>> 
>>> 
>>> 2012/10/31 Martin Pala <[email protected]>
>>> Hi,
>>> 
>>> the default HTTP protocol test returns just failure if the HTTP code is 
>>> error.
>>> 
>>> You can use the "check program" test with custom script and use curl/wget 
>>> to get the http response code, for example (not tested):
>>> /usr/local/bin/myhttptest.sh:
>>> --8<--
>>> #!/bin/bash
>>> exit `curl -sL -w "%{http_code}\\n" "http://mymachine"; -o /dev/null`
>>> --8<--
>>> 
>>> and then connect it to Monit like this:
>>> --8<--
>>> check process apache with pidfile /var/run/apache.pid
>>>     start program = ...
>>>     stop program = ...
>>> 
>>> check program myhttptest with path /usr/local/bin/myhttptest.sh
>>>     if status == 502 then restart
>>>     depends on apache
>>> --8<--
>>> 
>>> 
>>> 
>>> Another option is to use the generic send/expect test to write simple HTTP 
>>> check and test the 502 response - generic example from the monit manual:
>>> --8<--
>>>  if failed host cave.persia.ir port 4040
>>>     send "Open, Sesame!\r\n"
>>>     expect "Please enter the cave\r\n"
>>>     send "Shut, Sesame!\r\n"
>>>     expect "See you later [A-Za-z ]+\r\n"
>>>  then restart
>>> --8<--
>>> 
>>> 
>>> Regards,
>>> Martin
>>> 
>>> 
>>> On Oct 30, 2012, at 1:57 PM, Houssan A. Hijazi <[email protected]> 
>>> wrote:
>>> 
>>> > Hi,
>>> >
>>> > i am on dreamhost using nginx with fastcgi, i need use monit to 
>>> > monitoring the nginx error, if error is 502 so restart.
>>> >
>>> > in my monit.log i have:
>>> >
>>> > HTTP error: Server returned status 502
>>> >
>>> > How i can see if host returned 502 error ?
>>> >
>>> > Thanks
>>> >
>>> > --
>>> > To unsubscribe:
>>> > https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>> 
>>> 
>>> 
>>> -- 
>>> --
>>> Houssan A. Hijazi 
>>> Analista de Sistemas
>>> www.lojasnoparaguai.com.br / www.libanovivo.org
>>> --
>>> To unsubscribe:
>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>> 
>> 
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
>> 
>> 
>> 
>> -- 
>> --
>> Houssan A. Hijazi 
>> Analista de Sistemas
>> www.lojasnoparaguai.com.br / www.libanovivo.org
>> 
>> 
>> 
>> -- 
>> --
>> Houssan A. Hijazi 
>> Analista de Sistemas
>> www.lojasnoparaguai.com.br / www.libanovivo.org
>> --
>> To unsubscribe:
>> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> 
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general
> 
> 
> 
> -- 
> --
> Houssan A. Hijazi 
> Analista de Sistemas
> www.lojasnoparaguai.com.br / www.libanovivo.org
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general

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

Reply via email to