Проверка check_http (Nagios) на определенное количество строк

Я довольно долго пытался выяснить, есть ли способ заставить плагин check_http для Nagios сканировать определенное количество экземпляров строки на веб-странице и уведомлять меня, когда он проходит это число.

Например, если я вывожу файл журнала на веб-страницу и хочу, чтобы Nagios уведомлял меня, если текст «ошибка» появляется на странице более, скажем, 3 раз, как мне сформулировать команду? Может быть даже совершенно другой плагин, который позволяет мне обойти веб-страницу и искать эти 3 экземпляра «ошибки» непосредственно в файле журнала. Если кто-нибудь знает о таком плагине, эта информация тоже будет оценена.

Если это имеет значение, я использую CentOS 6.4.


person user2607964    schedule 22.07.2013    source источник


Ответы (1)


Вы можете добиться этого с помощью хитро сконструированного регулярного выражения. Однако затем вы получаете проблему, заключающуюся в том, что вам нужно отрицать ответ, поскольку check_http не предоставляет параметр «не регулярное выражение» (я чувствую, что должен, но это не так).

Итак, если вы хотите предупредить о> 3 случаях «ошибки», используйте что-то вроде этого:

negate "check_http www.myserver.co.nz -r '(error.*){4}'"

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

Если вы можете проверить файл напрямую (или через NRPE), вы можете написать скрипт для использования egrep с аналогичным регулярным выражением.

person Steve Shipway    schedule 28.07.2013