Hi,

Ok i am trying use a check file .

Thanks

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

> You can print (mirror) in the status script's output whatever you want
> (even the response code) - the output will be attached to the event. The
> exit status however need to match the test - your script returned 0, but
> the test was checking for 502 => it didn't match
>
>
> On Nov 8, 2012, at 7:22 PM, "Houssan A. Hijazi" <[email protected]>
> wrote:
>
> 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
>
>
>
> --
> 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