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

Reply via email to