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

Reply via email to