2013-07-03 2 views
0

Я пробовал это в течение нескольких дней, но все еще борется.Мониторинг и корреляция между несколькими журналами Shell

Целью скрипта является мониторинг журнала в реальном времени на нескольких серверах (в частности, 29) и корреляция записей сбоев входа между серверами. Журнал серверов будет сжиматься в 23:59:59 каждый день, а новый журнал начинается с 0 часов.

Моя идея состояла в том, чтобы использовать tail -f | grep "failed password" | tee centralized_log на каждом сервере, активированный циклом через все имена серверов, запускаться на фоне и выводить записи о неудаче входа в централизованный журнал. Но он не работает. И это создает много демонов, которые станут зомби, как только я закончу сценарий.

Я также рассматриваю, чтобы сделать tail через несколько минут промежуток. Но по мере увеличения объема журналов время обработки увеличится. Как установить указатель на место, где остановились предыдущие tail?

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

ответ

1

Если ваши журналы проходят через syslog, и вы используете rsyslogd, вы можете настроить syslog на каждом компьютере для пересылки определенных сообщений, которые вас интересуют, на один (или два) централизованных лог-сервера, используя матч собственности как:

:msg, contains, "failed password" 

Смотрите rsyslog documentation для получения более подробной информации о том, как создать надежную системный журнал переадресацию.

+0

Звучит неплохо, но наша организация использует syslog-ng, я верю. Имеет ли syslog-ng аналогичные функции? – user2404894

+0

@ user2404894 Да. 'syslog' и его преемники обеспечивают эту функциональность с возрастом. –

+0

Как я должен начать с этого? – user2404894

Смежные вопросы