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

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

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

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

  • на каждом сервере (на котором работают основные компоненты системы) есть агент Logstash, работающий
  • , агент отслеживает файлы журнала и отправляет их в кластер ElasticSearch
  • есть еще один сервер с пользовательским интерфейсом Logstash.

Таким образом:

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

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

1
задан 6 November 2012 в 15:13
2 ответа

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

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

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

1
ответ дан 4 December 2019 в 00:54

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

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

0
ответ дан 4 December 2019 в 00:54

Теги

Похожие вопросы