It seems that the test script doesn't return the 502 then.

Can you provide output of this?:
--8<--
/home/myhome/webserver_response.sh
echo $?
--8<--



On Nov 6, 2012, at 12:55 PM, Houssan A. Hijazi <[email protected]> wrote:

> Hi,
> 
> in a logs i have always:
> 
> [PST Nov  6 03:53:13] debug    : 'nginx' zombie check succeeded 
> [status_flag=0000]
> [PST Nov  6 03:53:13] debug    : 'nginx' succeeded connecting to 
> INET[www.mysite.org:80] via TCP
> [PST Nov  6 03:53:13] debug    : 'nginx' succeeded testing protocol [HTTP] at 
> INET[www.mysite.org:80] via TCP
> [PST Nov  6 03:53:13] debug    : 'webserverresponse' status check succeeded
> 
> is always succeded the status of webserverresponse. My configuration are ok?
> 
> 
> Thanks
> 2012/11/6 Martin Pala <[email protected]>
> Hi,
> 
> can you run monit in debug mode ("-v" option) and check the logs?
> 
> Regards,
> Martin
> 
> 
> On Nov 5, 2012, at 6:09 PM, Houssan A. Hijazi <[email protected]> wrote:
> 
>> Hi,
>> 
>> my config file:
>> 
>> check process nginx
>>   with pidfile /dh/nginx/servers/httpd-ps93737/var/logs/nginx.pid #Pid file 
>> for nginx in my case it located in /opt/nginx/logs/
>>   start program = "/etc/init.d/nginx start"
>>    stop program = "/etc/init.d/nginx stop"
>>    if failed host www.mysite.com 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 status  == 502 then restart
>>     if status  == 502 then exec "/usr/local/bin/monit restart nginx"
>>     depends on nginx
>> 
>> My /home/myhome/webserver_response.sh return 502, but not work, not restart 
>> nginx.
>> 
>> I did something wrong?
>> 
>> thanks
>> 
>> 2012/11/2 Martin Pala <[email protected]>
>> 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
>> 
>> 
>> 
>> -- 
>> --
>> 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