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

удаленный мониторинг журналов linux

Я хотел бы отслеживать журналы системного журнала на нескольких десятках серверов Linux. В идеале я бы предпочел метод pull, когда центральный сервер мониторинга собирает один раз в день журналы со всех машин через ssh, применяет общие правила и правила для каждого сервера и сообщает о любых неожиданных записях в журнале.

Есть ли у вас какие-либо предложения?

Я бы предпочел не использовать централизованный сервер системного журнала.

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

Используйте Splunk. У него есть несколько способов сбора и индексации журналов. Вы можете настроить задание cron для извлечения журналов сервера в контролируемые каталоги, то есть / var / log / splunk-logs / {server1, server2 и т. Д.}. Это немного больше, чем просто использование системного журнала, но должно быть выполнимо.

Если вам нужен какой-то скрипт, вы можете использовать это http://paste.broner.org/126 (мог бы быть более динамичным с перехватом пользовательского ввода или более элегантным getops). Если вы не разрешаете root для ssh для ваших хостов с «исходной» машины, вы можете запустить сценарий, основанный на локальной фильтрации на каждом хосте, и настроить задание cron для просмотра журналов. Поместите скопированные новые записи в определенное место и пусть «исходный» компьютер проверит этот каталог с помощью cron, заберет файлы и удалите их после копирования.

Это огромная работа, чтобы не использовать syslog-ng или какой-либо другой сервер syslog. Есть ли причина, по которой вы решили не использовать его?

Изменить: вы также можете использовать uuencode и mail, чтобы отправить файлы по адресу, если это будет более предпочтительным.

Я не уверен в каком-либо готовом приложении / решении для этого, но вы можете легко использовать rsyslog на своем центральном сервере мониторинга с imfile модуль, который может отслеживать (и предупреждать через ommail модуль и условия) в произвольных файлах журнала, которые могут быть получены с ваших серверов Linux через rsync и cron.

Я использую rsyslog в качестве центрального сервера системного журнала и использую ommail для отправки мне предупреждений о различных событиях с моего пограничного межсетевого экрана, прокси-сервера Squid, коммутатора ядра и т. д. Работает хорошо.

Logwatch и Swatch являются общедоступными инструментами и даже устанавливаются по умолчанию в некоторых дистрибутивах Linux. Вы можете установить это на каждом сервере. Это позволяет отслеживать события в журналах, чтобы о любых критических событиях (например, о сбоях в работе, попытках взлома, сбоях ssh и т. Д.) Можно было немедленно сообщить вам по электронной почте или другим способом доставки.

Если вам нужно избегать установки инструментов в каждой отслеживаемой системе, вы можете написать несколько сценариев rsync для захвата каталогов / var / log и синхронизации с локальным каталогом на центральном сервере. Затем скажите swatch / logwatch проанализировать их.