Hi,

Works to me with check file.

thanks

2012/11/9 Houssan A. Hijazi <[email protected]>

> 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
>



-- 

--

*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