Monit verificando URL siga redirecionamentos

1

Estou procurando usar o monit para ficar de olho no meu site. Eu quero tratar o site como um usuário externo, então estou testando o URL, mas ele não parece seguir redirecionamentos. A verificação de conteúdo está sendo realizada no html do redirecionamento.

#request works:
if failed url http://www.sharelatex.com/blog/posts/future.html content == "301"

#request fails
if failed url http://www.sharelatex.com/blog/posts/future.html content == "actual content"

Descobrir como conseguir que a verificação de URL siga 30X seria ótimo.

    
por henry.oswald 20.03.2012 / 15:43

1 resposta

1

Mesmo que eu não veja uma opção na página man monit para que ela siga os redirecionamentos, acho que testando os elementos do redirecionamento explicitamente. Primeiro, testando os cabeçalhos de redirecionamento e, em seguida, o conteúdo da página de destino, você obtém o mesmo tipo de coisa.

(Aqui está a resposta incluindo um redirecionamento de um pedido para sharelatex)

HTTP/1.1 301 Moved Permanently       <---- response code here
Server: nginx/0.7.65
Date: Tue, 20 Mar 2012 22:04:48 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://www.sharelatex.com/blog/posts/future.html   <---- target location here

Eu usaria algo como o seguinte:

check host www.sharelatex.com with address www.sharelatex.com
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "301 Moved Permanently" 
    then alert
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "Location: https://www.sharelatex.com/blog/posts/future.html"
    then alert
IF FAILED URL https://www.sharelatex.com/blog/posts/future.html content == "ShareLaTeX"         
    then alert

Então, quebrando ... Essas duas linhas, verifique se a página HTTP: // redireciona corretamente e se ela fornece o destino correto para o redirecionamento.

check host www.sharelatex.com with address www.sharelatex.com
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "301 Moved Permanently" then alert
IF FAILED URL http://www.sharelatex.com/blog/posts/future.html content == "Location: https://www.sharelatex.com/blog/posts/future.html" then alert  

Em seguida, teste que você foi redirecionado para o lugar certo e para algum conteúdo ...

as seguintes linhas, efetivas, seguem o redirecionamento explicitamente e testam o conteúdo da página HTTPS em https://www.sharelatex.com/blog/posts/future.html

 IF FAILED URL https://www.sharelatex.com/blog/posts/future.html content == "ShareLaTeX" then alert   

Eu acho que os primeiros comandos vão fazer um monte (2x) de pedidos por página, então pode valer a pena combiná-los de alguma forma ....

    
por 20.03.2012 / 16:02