Распределенная настройка logstash + redis + elasticsearch

В нашей сети есть локальные узлы, которые не всегда связаны с центральным узлом, и мы не можем изменить это условие.

Наши требования заключаются в следующем;

  1. В локальных узлах; локальные журналы будут храниться и могут быть найдены
  2. В центральном узле; все собранные журналы будут сохранены и доступны для поиска

Наша текущая настройка logstash выглядит следующим образом:

Logstash собирает журналы на локальных узлах и отправляет их с помощью Redis, а также сохраняет в локальных экземплярах elasticsearch. В центральном узле ввод от Redis снова хранится в центральном эластичном поиске.

Поскольку локальные узлы не всегда подключены; журналы не передаются в центр, и журналы недоступны на центральном узле.

Поэтому нам нужны дополнительные настройки для передачи логов, которые записываются, когда узел находится в автономном режиме. Ни в документации Logstash, ни в Elasticsearch нет такой синхронизации. Есть ли у вас какие-либо советы?


person kokeksibir    schedule 07.01.2014    source источник


Ответы (1)


Вы можете запустить Redis на локальном узле с другим портом для центрального узла. Это означает, что вы запустите два Redis. Один для локального использования и один для центрального узла!

Локальные узлы также отправляют журнал в этот Redis. Redis будет буферизовать все полученные журналы. (PS: Logstash может выводить данные на несколько Redis в одной и той же конфигурации)

Когда сеть подключена, центральный узел может считывать события журналов с локального узла Redis. Таким образом, это может решить всю проблему синхронизации.

person Ben Lim    schedule 08.01.2014
comment
Спасибо. В настоящее время у нас нет Redis, установленного на локальных узлах, logstash отправляет данные брокеру Redis, размещенному на центральном узле. Установка redis на каждом узле будет дополнительной нагрузкой. Может ли эластичный поиск сделать то же самое? - person kokeksibir; 08.01.2014
comment
Если вы хотите использовать для этого Elasticsearch(ES), вы можете создать кластер ES. Когда локальные узлы подключатся к центральному узлу, кластер ES объединится, и данные elasticsearch будут синхронизированы! - person Ben Lim; 08.01.2014
comment
@BenLim Не могли бы вы уточнить свой последний комментарий? - person Bashar Abu Shamaa; 01.04.2018