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
