Мы устанавливаем ELS и Kibana для агрегирования/анализа журналов. Первая система, использующая его, - это greenfield, поэтому мы выводим структурированные журналы из сервисов, входящих в нашу систему. Учитывая, что нам не нужно добавлять структуру в наши журналы, я планировал использовать FileBeat для отправки журналов непосредственно в ELS и не использовать LogStash. Является ли это разумным вариантом или LogStash имеет ценность помимо синтаксического анализа, который нам может понадобиться? Если мы используем LogStash, могу ли я использовать это для сбора файлов журналов или я должен использовать FileBeat для накачки журналов в LogStash?FileBeat прямо в ELS или через LogStash?
ответ
Logstash полезен, если вам необходимо агрегировать журналы со многих серверов и применять некоторые общие преобразования и фильтрации для ваших событий.
Если ваши события журнала уже структурированы, и вы в порядке с их индексированием напрямую, то вы можете определенно передать Filebeat их непосредственно в ES. Если ES опускается (например, для обслуживания), Filebeat будет повторять попытку, пока он не сможет успешно отправить события.
Является ли это разумным вариантом или LogStash имеет ценность помимо синтаксического разбора, что нам может понадобиться?
Решение использовать Logstash или нет в вашем случае зависит от необходимости обработки журналов перед их вставкой в ES.
В дополнении к разбору (что очевидно бесполезно в вашем случае использовании), вы можете использовать Logstash, чтобы добавить местоположение с geoip filter, разобрать дату с date filter, replace a word with another, replace a field with a hash ...
Вы можете иметь посмотрите на доступный фильтр here.
Если мы используем LogStash, я могу использовать его для сбора файлов журнала или я должен использовать FileBeat для накачки журналов в LogStash?
Если вам нужен Logstash и вы можете позволить себе запускать его на машине, где находятся ваши журналы, вы можете избежать использования filebeat, используя ввод файла.
Но имейте в виду, что Logstash, особенно если используется для синтаксического анализа, может потреблять много ресурсов, лучше иметь его на другой машине и использовать filebeat для перекачки журналов в Logstash.
Примечание: для неограниченного количества попыток вы должны установить строку 'max_retries: -1' в вашей конфигурации' filebeat.yml', иначе она будет пытаться только 3 раза и завершить (значение по умолчанию = 3). В нашей конфигурации у нас также есть Redis, которые действуют как буфер, но опция по-прежнему полезна даже для этого случая (redis также может опускаться). –