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

Сбор журналов с нескольких серверов отказоустойчивым способом

Основное требование, которое у меня есть, - это иметь возможность просматривать и выполнять простой поиск в журналах, объединенных с нескольких машин. Однако я бы хотел, чтобы решение оказало минимальное влияние на остальную (основную) систему. У меня нет требований к работе в реальном времени, процесс может быть асинхронным.

Первоначально системный журнал казался хорошим вариантом, но что, если сервер системного журнала выйдет из строя? В худшем случае пользователь основной системы видит ошибки, в лучшем случае теряются журналы.

Итак, я начал осматриваться и нашел Logstash (http://logstash.net/). В настоящее время моя идея:

Туда:

Как вы думаете, это сработает? Или, может быть, вы могли бы порекомендовать другое решение?

Rsyslog имеет некоторые функции, которые вы описываете, а также в проекте есть много документации о надежной пересылке сообщений.

Короче говоря, с помощью rsyslog вы можете использовать RELP протокол для надежной пересылки сообщений системного журнала, и тогда вам не придется беспокоиться о потере сообщения. И у вас также есть возможность настроить локальные файлы спула, где rsyslog будет буферизовать сообщения в случае, если удаленный сервер не работает. Как только пульт вернется, ваш агент наверстает упущенное.

У вас также есть возможность настроить rsyslog для записи в реляционную базу данных, а затем вы можете сделать базу данных настолько избыточной, насколько хотите (я лично считаю, что сервер syslog проще кластеризовать).

Этот вопрос, скорее всего, будет закрыт как не по теме, см. FAQ.

В любом случае системный журнал (или любая система на основе системного журнала) должен работать нормально, в конце концов, если вы беспокоитесь о потере журналов, обязательно сделайте резервную копию сервера системного журнала как часть вашего обычного сценария аварийного восстановления. Это довольно простая задача / запрос.