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] via TCP > [PST Nov 6 03:53:13] debug : 'nginx' succeeded testing protocol [HTTP] at > INET[www.mysite.org:80] 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
