Есть ли дополнительная ценность для регистрации данных JSON в Elasticsearch через Logstash?

#elasticsearch #logstash

#elasticsearch #logstash

Вопрос:

Я пересматриваю свою стратегию ведения журнала (журналы из ОС и приложений, которые регистрируются в syslog, и из моих собственных приложений, где я могу свободно решать, что и где регистрировать). Не имея большого опыта работы с Logstash, мне было интересно, есть ли дополнительная ценность для регистрации данных JSON через него (в отличие от прямой отправки их в Elasticsearch).

Единственное преимущество, о котором я мог подумать, заключается в том, что ведение журнала может осуществляться последовательно в stdout (а затем обрабатываться системным журналом) и последовательно отправляться в Logstash (как системный журнал) для анализа там (Logstash будет знать, что данные из приложения myapp.py отправьте необработанный JSON, например).

Есть ли другие преимущества использования Logstash в качестве промежуточного звена? (аспекты безопасности не важны в этом контексте).

Ответ №1:

В использовании Logstash есть пара преимуществ, даже если ваши данные уже являются объектом JSON.

Например:

  • Сжатие HTTP: Когда logstash выводит данные в elasticsearch, у вас есть возможность использовать сжатие http, что значительно уменьшает размер запросов и использование пропускной способности.
  • Постоянная очередь: Logstash позволяет вам иметь постоянную очередь в памяти или на диске для сохранения событий, когда по какой-либо причине не удается подключиться к elasticsearch.
  • Манипулирование данными: вы можете использовать фильтры для изменения и обогащения ваших данных, например, вы можете удалять и добавлять поля, изменять название полей, использовать фильтр geoip для поля ip и т.д.