Logstash与Kafka的不同之处

Cha*_*pta 14 apache-kafka devops elastic-stack

Log stash如何与Kafka不同?如果两者相同哪个更好?如何?

我发现两者都是可以推送数据进行进一步处理的管道.

Kul*_*gar 13

Logstash是一种可用于收集,处理和转发事件和日志消息的工具.收集是通过许多input 插件完成的.您可以将其Kafka用作输入插件,它将从Kafka主题中读取事件.一旦输入插件收集了数据,就可以通过修改和注释事件数据的任意数量的过滤器来处理它.最后,事件被路由到output 插件,这些插件可以将事件转发到各种外部程序,包括Elasticsearch.

保存Kafka消息的消息传递软件,TTL以及从Kafka中提取数据的消费者概念.其中一些用法可能是:

  • 流处理
  • 网站活动跟踪
  • 指标收集和监控
  • 日志聚合

因此,他们两个都有自己的优点和缺点.但那完全取决于您的要求.


Clo*_*tax 9

Kafka比Logstash强大得多。为了将数据从PostgreSQL同步到ElasticSearch,Kafka连接器可以对Logstash进行类似的工作。

一个关键的区别是:Kafka是一个集群,而Logstash基本上是单个实例。您可以运行多个Logstash实例。但是这些Logstash实例彼此不知道。例如,如果一个实例发生故障,其他实例将无法接管其工作。Kafka自动处理该节点。而且,如果将Kafka连接器设置为在分布式模式下工作,则其他连接器可以接替下连接器的工作。

Kafka和Logstash也可以一起工作。例如,在每个节点上运行Logstash实例以收集日志,然后将日志发送到Kafka。然后,您可以编写Kafka消费者代码以执行所需的任何处理。


fgu*_*gul 6

另外,我想通过场景添加一些东西:

场景 1:事件峰值

您部署的应用程序有一个严重的错误,信息被过度记录,淹没了您的日志记录基础设施。这种峰值或数据爆发在其他多租户用例中也很常见,例如在游戏和电子商务行业。在这个场景中使用了像 Kafka 这样的消息代理来保护LogstashElasticsearch免受这种激增的影响。

在此处输入图片说明

场景 2:Elasticsearch 不可达

当 eleasticsearch 无法访问时,如果您有大量数据源流入 Elasticsearch,并且您无法停止原始数据源,那么像 Kafka 这样的消息代理可能会有所帮助!如果您将 Logstash 托运人和索引器架构与 Kafka 一起使用,您可以继续从边缘节点流式传输数据并将它们暂时保存在 Kafka 中。当 Elasticsearch 恢复时,Logstash 会从它停止的地方继续,并帮助您赶上积压的数据。

整个博客是这里关于Logtash和卡夫卡的使用情况。