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