Hi,

thanks, Martin.. but i need  get the output from bash script.

Thanks

2012/11/8 Martin Pala <[email protected]>

> Your script prints the http response code to standard output - but monit
> checks only the exist status, not the output.
>
> You need to modify the script to return the http code like this:
>
> --8<--
> #!/bin/bash
> exit `curl -sL -w "%{http_code}\\n" "http://www.mysite.com"; -o /dev/null`
> --8<--
>
>
> On Nov 8, 2012, at 12:57 PM, "Houssan A. Hijazi" <[email protected]>
> wrote:
>
> Hi,
>
>
> my monit configuration:
>
> check program webserverresponse with path
> /home/myhome/webserver_response.sh
>     if status  == 502 then exec "/etc/init.d/nginx restart"
>     if status  == 502 then alert
>     depends on nginx
>
> webserver_response.sh content:
>
> #!/bin/bash
> curl -sL -w "%{http_code}\\n" "http://www.mysite.com"; -o /dev/null
> exit $?
>
> output:
> user@ps90700:~$ ./webserver_response.sh
> 502
> --
> user@ps90700:~$ ./webserver_response.sh echo $?
> 502
>
> and in log file:
>
> [PST Nov  8 03:53:29] debug    : 'webserverresponse' status check succeeded
>
> thanks, Martin
>
>
>
>
>
>
> 2012/11/8 Martin Pala <[email protected]>
>
>> 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 <http://www.mysite.org/>] via TCP
>> [PST Nov  6 03:53:13] debug    : 'nginx' succeeded testing protocol
>> [HTTP] at INET[www.mysite.org:80 <http://www.mysite.org/>] 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
>>
>
>
>
> --
> --
> *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

Reply via email to