В настоящее время я настраиваю центральную систему ведения журналов (с использованием ELK), которая, как предполагается, будет получать данные журналов от 100 микросервисов и может расширяться еще больше. Требуется минимальная задержка и высокая доступность решения. Сейчас я зациклился на том, как должен выглядеть дизайн. Изучая inte rnet, я получил следующий подход, который широко используется для таких требований
Microservice -> filebeat -> kafka -> logsta sh -> ElasticSearch -> Kibana
Однако я изо всех сил пытаюсь понять, действительно ли filebeat полезен в этом случае. Что, если я буду передавать журналы напрямую в Kafka, который затем отправляет их в logsta sh? Это поможет мне обойтись без обслуживания файлов журналов, а также будет на один компонент меньше для мониторинга и обслуживания. Я вижу преимущество использования kafka перед filebeat в том, что он может действовать как буфер в условиях, если объем отправляемых данных очень велик или когда кластер ES недоступен. Источник: https://www.elastic.co/blog/just-enough-kafka-for-the-elastic-stack-part1
Я хочу понять, есть ли какая-то реальная выгода от filebeat, которую я не могу понять.