【问题标题】:Kafka Streams vs Logstash [closed]Kafka Streams vs Logstash [关闭]
【发布时间】:2021-05-09 09:50:12
【问题描述】:

我目前在 Kafka Streams 或 Logstash 之间进行选择,用于实时日志收集、转换和丰富,最后发送到 Elasticsearch。日志来自不同的 IT 网络设备,例如防火墙、交换机、接入点等。

由于 Kafka Streams 和 Logstash 具有几乎相似的功能,选择 1 是否有好处? (性能?易于部署?)

谢谢

【问题讨论】:

  • 这取决于您的用例。签出this
  • 只是为了确保您的问题正确:您的日志仍然位于设备上,对吗?我猜 KafkaStreams 是错误的选择:它是一个客户端库,可以在您自己的应用程序中用于执行流操作。这里没有包含从某处获取日志文件的逻辑。那是你必须建立的东西。也许 Logstash 已经内置了,但据我所知,它必须在日志文件所在的设备上运行(但只是在这里猜测)

标签: apache-kafka logstash apache-kafka-streams


【解决方案1】:

Kafka Streams 和 Logstash 是两个完全不同的东西

Kafka Streams 是一个客户端库,您可以使用它来编写应用程序来流式处理和处理存储在 Kafka Brokers 中的数据,您需要用 Java 编写自己的应用程序。

Logstash 是一种 ETL 工具,您可以使用它从多个来源提取/接收数据,使用各种过滤器处理这些数据并将其发送到不同的输出,例如 elasticsearch、file、s3、kafka 等。

同时使用 Logstash 和 Kafka 是很常见的,其中 Kafka 作为消息队列工作,用于 Logstash 将消费和处理的消息,您有像 Filebeat 这样的托运人向 Kafka Brokers 发送数据,然后您使用 Logstash 来消费这些数据.

您可以使用 Kafka Streams 库在 Java 中构建自己的应用程序来收集、处理和传送数据到 Elasticsearch,但这与使用堆栈工具、Filebeat 收集日志、Logstash 到接收/处理,Elasticsearch 存储。

【讨论】:

    猜你喜欢
    • 2019-06-12
    • 1970-01-01
    • 2019-03-30
    • 2018-01-19
    • 2021-12-17
    • 2017-01-20
    • 2017-03-15
    • 1970-01-01
    • 2018-09-30
    相关资源
    最近更新 更多