#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 и т.д.