Назад | Перейти на главную страницу

Nagios check_http - проверка статуса приложения tomcat с помощью регулярного выражения и диапазона строк

Я не хочу проверять с нашими Nagios, работает ли веб-приложение на Tomca7. Я решил использовать плагин check_http с регулярным выражением. Я анализирую страницу состояния tomcat и проверяю, соответствует ли столбец «Выполняется». Исходный код страницы статуса выглядит так (вырезано):

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

2 информации находятся в 2 разных строках. Итак, моя строка, которую нужно проверить, выглядит следующим образом:

./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'

Проблема в том, что ответ плагина всегда истинный («HTTP OK»), когда я использую параметр «-l». Также, когда я изменяю строку поиска, чтобы вызвать критическое:

./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'

Понятия не имею, почему это произошло. У кого-нибудь есть идеи? Спасибо, Арни

Почему бы не использовать /manager/text/list чтобы увидеть интерфейс менеджера простого текста вместо интерфейса 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

со страницы руководства check_http "-s, --string = STRING Ожидаемая строка в содержимом" пробовали ли вы использовать "-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>