Nagios check_http - verificando o status do aplicativo tomcat com regex & linespan

2

Eu não quero verificar com o nosso Nagios se um aplicativo da web está sendo executado no Tomca7. Eu decidi usar o plugin check_http com regex. Estou analisando a página de status do tomcat e verifique se a coluna "Em execução" é verdadeira. O código de fonte da página de status se parece com isso (recortado):

<td class="row-left" bgcolor="#FFFFFF" rowspan="2"><small>Applicationname</small></td>
<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>true</small></td>

As 2 informações estão em 2 linhas diferentes. Então, minha linha para verificar é a seguinte:

./check_http -I 111.111.111.111 -p 8080 -a user:password -u /manager/html -rl 'Applicationname</small></td>\n.<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>true'

O problema é que a resposta do plugin é sempre verdadeira ("HTTP OK") quando estou usando o parâmetro "-l". Além disso, quando modifico a cadeia de pesquisa como esta para forçar uma crítica:

./check_http -I 111.111.111.111 -p 8080 -a user:password -u /manager/html -rl 'Applicationname</small></td>\n.<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>fail_true'

Eu não tenho ideia do porque isso aconteceu. Alguém tem alguma ideia? Obrigado, Arny

    
por Arny80Hexa 04.03.2013 / 16:02

2 respostas

2

Por que não usar o /manager/text/list para ver a interface do gerenciador de texto simples em vez da interface HTML:

./check_http -I 111.111.111.111 -p 8080 -a user:password -u /manager/text/list -s 'Applicationname:running'

HTTP OK: HTTP/1.1 200 OK - 510 bytes in 0.003 second response time |time=0.003004s;;;0.000000 size=510B;;;0
    
por 04.03.2013 / 16:55
0

da página man check_http "-s, --string = STRING Cadeia de caracteres a ser esperada no conteúdo" você tentou com "-s"?

$  ./check_http  -I localhost -p 80 -s True -u /test.html
HTTP CRITICAL: HTTP/1.1 200 OK - string 'True' not found on 'http://localhost:80/test.html' -    419 bytes in 0.001 second response time |time=0.000667s;;;0.000000 size=419B;;;0

$  ./check_http  -I localhost -p 80 -s true -u /test.html
HTTP OK: HTTP/1.1 200 OK - 419 bytes in 0.001 second response time |time=0.000776s;;;0.000000    size=419B;;;0

$  cat /var/www/html/test.html 
<td class="row-left" bgcolor="#FFFFFF" rowspan="2"><small>Applicationname</small></td>
<td class="row-center" bgcolor="#FFFFFF" rowspan="2"><small>true</small></td>
    
por 04.03.2013 / 16:19