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

Используйте Nagios для отслеживания файла журнала и отправки подробностей журнала

Я знаю, что Nagios может отслеживать и предупреждать о содержимом файла журнала, но знает ли кто-нибудь о подключаемом модуле или другом инструменте, который будет отслеживать файл журнала для определенной строки, а затем отправлять всю строку в электронном сообщении, где что совпадение произошло?

@ af-at-work: Для этого есть инструмент:

«Tenshi - это программа мониторинга журналов, предназначенная для отслеживания в одном или нескольких файлах журналов строк, соответствующих определенным пользователем регулярным выражениям, и отчета о совпадениях. Регулярные выражения назначаются очередям, которые имеют интервал оповещения и список получателей почты».

Пакет Ubuntu (Ссылка на сайт), Пакет Debian (Ссылка на сайт).

Стандартные плагины check_log вроде ... жалкие; он использует diff и обрабатывает весь журнал каждый раз, когда вы его запускаете, поэтому он плохо масштабируется. Вообще.

ConSol Labs поддерживает отличный плагин проверки журналов, который делает именно то, что вы хотите: http://exchange.nagios.org/directory/Plugins/Log-Files/check_logfiles/details

Он указан на Nagios Exchange, но вот прямая ссылка на английскую версию: http://labs.consol.de/lang/en/nagios/check_logfiles/

Вы должны запустить это через NRPE или check_via_ssh (+ ключи ssh), очевидно.

Монитор журнала Nagios

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

в приведенной выше ссылке пользователь использует инструмент мониторинга журналов Nagios под названием logrobot. вы можете посетить настоящий домашняя страница чтобы увидеть больше примеров того, как это работает.

ЕСЛИ вы хотите отслеживать журнал и просматривать детали строк, содержащих указанную вами строку, этот инструмент logrobot можно запустить следующим образом:

локально:

logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

удаленно:

NagiosLogMonitor remotehost logrobot autofig /opt/jboss/jboss-as/server/production/log/server.log 60m 'INFO' '.' 1 2 -show

Когда вы запускаете указанную выше команду, как показано в первой ссылке, вам будут показаны все штрафы, обнаруженные в файле журнала, который содержит указанную вами строку «INFO».

Если вы можете прочитать файл журнала с помощью сценария bash (или perl, или python, и т. Д.) И выполнить поиск по строке (grep), конечно. Сценарию необходимо установить ненулевой код возврата и вернуть строку. Сценарий может находиться на рассматриваемом сервере, и nagios может использовать команду check_by_ssh для запуска сценария на сервере.

Зачем вообще вовлекать Nagios в такую ​​ситуацию? Это похоже на чрезмерное усложнение.

Почему бы просто не пойти на сервер, написать небольшой сценарий оболочки, чтобы делать то, что вы хотите, выполнить его через задание cron. В любом случае сценарий ДОЛЖЕН содержать логику для отправки электронной почты.

У Nagios теперь есть решение, которое тесно интегрируется с Nagios Core, XI и т. Д.

Сервер журнала Nagios который может предупреждать о любом запросе в любом файле журнала в любой системе в вашей инфраструктуре.