【问题标题】:Using Kafka as alternative to Filebeats and Logstash使用 Kafka 作为 Filebeats 和 Logstash 的替代品
【发布时间】:2018-12-26 08:39:22
【问题描述】:

我是 ELK 堆栈的新手,我只是想知道是否可以使用 Kafka 将我们的日志文件发送到 Elasticsearch。 但我也需要在 Kafka 中完成 Logstash 的工作(使用像 grok 这样的过滤器解析日志)。这整个事情可能吗?基本上我想要做的是用 Kafka 替换 Filebeats 和 Logstash 的组合,我想知道它是否可能。

谢谢你:)

注意:我要做的是Ship + Parse Kafka 中的日志。我知道使用 Elasticsearch 连接器可以将日志发送到 Elasticsearch,但我要问的是 Kafka 是否可以解析数据(Logstash 的工作)。

【问题讨论】:

标签: elasticsearch logging apache-kafka logstash filebeat


【解决方案1】:

我将把你的问题分成两部分:

1.通过 kafka 流式传输的事件是否可以在 ElasticSearch 中编制索引

是的,如果您将 Confluent kafka-connect 视为 Kafka 的一部分。不是 kafka 本身进行索引,而是一个 kafka-connect sink 连接器,它将被配置为从您的 kafka 主题中消费并索引 Elasticsearch 中的事件。

您可以在这里找到更多信息:https://docs.confluent.io/current/connect/kafka-connect-elasticsearch/index.html

2。可以直接在Kafka中实现logstash同种的解析、转换和流控功能吗?

我知道的唯一可以帮助您执行类似操作的 Kafka 生态系统功能是 Kstreams(但您必须知道如何使用 Kstreams API 进行开发)或使用另一个名为 KSQL 的 Confluent 软件,它允许执行 SQL Stream在更面向分析的 Kafka 主题之上进行处理(即:数据过滤、转换、聚合、连接、窗口化和会话化)

您可以在此处找到有关 KStreams 的更多信息:https://kafka.apache.org/documentation/streams/

您可以在此处找到有关 KSQL 的更多信息:https://docs.confluent.io/current/ksql/docs/index.html

结论

在我看来,如果不使用 Kafka Streams API 进行编程,您将无法实现 Logstash / NiFi 的所有类型的解析和转换功能,但您绝对可以使用 kafka-connect 将数据传入或传出 kafka就像 Logstash 一样,kafka 可以用于各种技术。

这种设置的一个很好的例子(取自Confluent)是:

【讨论】:

  • 哇!感谢您的精彩解释 :) 在 Stackoverflow 帖子中有这些解释总是很棒。
猜你喜欢
  • 1970-01-01
  • 2017-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-21
  • 2019-05-28
相关资源
最近更新 更多