Разница между использованием Filebeat и Logstash для отправки файла журнала в Elasticsearch - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь ELK визуализировать мой файл журнала. Я пробовал разные настройки:

  1. Плагин ввода файла Logstash https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html
  2. Плагин ввода Logstash Beats https://www.elastic.co/guide/en/logstash/current/plugins-inputs-beats.html с выходом Filebeat Logstash https://www.elastic.co/guide/en/beats/filebeat/current/logstash-output.html
  3. Filebeat Elasticsearch output https://www.elastic.co/guide/en/beats/filebeat/current/elasticsearch-output.html

Может ли кто-нибудь перечислить свои различия и когда использовать какую настройку? Если это не здесь, пожалуйста, укажите мне в нужное место, например, Super User, DevOp или Server Fault.

Ответы [ 2 ]

1 голос
/ 28 октября 2019

1) Чтобы использовать ввод logstash file, вам нужен экземпляр logstash, работающий на машине, с которой вы хотите собирать журналы, если журналы находятся на той же машине, на которой вы уже запускаете logstash, это не проблема,но если журналы находятся на удаленных компьютерах, не всегда рекомендуется использовать экземпляр logstash, поскольку для него требуется больше ресурсов, чем для filebeat.

2 и 3) Для сбора журналов на удаленных компьютерах рекомендуется использовать filebeat, так как он требует меньше ресурсов, чемЭкземпляр logstash, вы можете использовать выходные данные logstash, если вы хотите проанализировать свои журналы, добавить или удалить поля или сделать какое-то обогащение ваших данных, если вам не нужно делать что-то подобное, вы можете использовать вывод эластичного поиска и отправить данныенепосредственно кasticsearch.

Это основное отличие, если ваши журналы находятся на той же машине, на которой вы запускаете logstash, вы можете использовать вход file, если вам нужно собирать журналы с удаленных машин, выможете использовать filebeat и отправить его в logstash, если хотитевыполнять преобразования ваших данных или отправлять их напрямую вasticsearch, если вам не нужно выполнять преобразования ваших данных.

Еще одно преимущество использования filebeat даже на машине logstash состоит в том, что если ваш экземпляр logstash не работаетвы не потеряете журналы, filebeat будет пересылать события, используя ввод file, в некоторых случаях вы можете потерять события.

1 голос
/ 28 октября 2019

Не очень знаком с (2). Но Logstash (1) обычно является хорошим выбором, чтобы поиграть с ним с помощью фильтров ввода / вывода, сопоставить его с вашими анализаторами, а затем отправить его в Elasticsearch. Ex. Вы указываете Logstash на MySql, который принимает строку, изменяет данные (возможно, сделайте с ним некоторую математику, затем Concat несколько и вырежьте несколько слов, а затем отправьте его в ElasticSearch как обработанные данные).

Что касается Logbeat (2), это идеальный выбор, чтобы взять уже обработанные данные и передать их вasticsearch. Logstash (как ясно видно из названия) в основном хорош для файлов журналов и тому подобного. обычно вы можете внести крошечные изменения в тех. Ex. У меня есть несколько файлов журналов на моих серверах (включая ошибки, системные журналы, журналы процессов ..) Logstash прослушивает эти файлы, автоматически выбирает новые добавленные строки и отправляет их в Elasticsearch. Затем вы можете отфильтровать некоторые вещи вasticsearch и найти то, что важно для вас.

ps: logstash предлагает действительно хороший способ распределения нагрузки слишком большого количества данных для ES.

...