使用 Kafka 作为 Filebeats 和 Logstash 的替代品
Using Kafka as alternative to Filebeats and Logstash
我是 ELK 堆栈的新手,我只是想知道是否可以使用 Kafka 将我们的日志文件传送到 Elasticsearch。 但是我也需要在 Kafka 中完成 Logstash 的工作(使用像 grok 这样的过滤器解析日志)。 这整个事情可能吗?基本上我想做的是用 Kafka 替换 Filebeats 和 Logstash 的组合,我想知道这是否可能。
谢谢:)
注意:我想做的是 Ship + Parse Kafka 中的日志。我知道使用 Elasticsearch 连接器可以将日志传送到 elasticsearch,但我想问的是 Kafka 是否可以解析数据(Logstash 的工作)。
我将把你的问题分成两部分:
1.可以在 ElasticSearch
中索引通过 kafka 流式传输的事件吗
是的,如果您将 Confluent kafka-connect 视为 Kafka 的一部分。执行索引的不是 kafka 本身,而是一个 kafka-connect 接收器连接器,它将被配置为从您的 kafka 主题中使用并为 Elasticsearch 中的事件编制索引。
您可以在此处找到更多信息:https://docs.confluent.io/current/connect/kafka-connect-elasticsearch/index.html
2。能否直接在Kafka
中实现logstash同类的解析、转换、流控功能
据我所知,唯一可以帮助您执行此类操作的 Kafka 生态系统功能是 Kstreams(但您必须知道如何使用 Kstreams API 进行开发)或使用另一个名为 K 的 Confluent 软件SQL 允许在更面向分析的 Kafka 主题之上进行 SQL 流处理(即:数据过滤、转换、聚合、连接、窗口化和会话化)
您可以在此处找到有关 KStreams 的更多信息:https://kafka.apache.org/documentation/streams/
您可以在此处找到有关 KSQL 的更多信息:https://docs.confluent.io/current/ksql/docs/index.html
结论
在我看来,如果不使用 Kafka Streams 进行编程,您将无法实现 Logstash / NiFi 的所有类型的解析和转换功能 API,但您肯定可以使用 kafka-connect 来将数据传入 kafka 或从 kafka 中获取数据,就像 Logstash 一样。
这种设置的一个很好的例子(取自Confluent)是:
我是 ELK 堆栈的新手,我只是想知道是否可以使用 Kafka 将我们的日志文件传送到 Elasticsearch。 但是我也需要在 Kafka 中完成 Logstash 的工作(使用像 grok 这样的过滤器解析日志)。 这整个事情可能吗?基本上我想做的是用 Kafka 替换 Filebeats 和 Logstash 的组合,我想知道这是否可能。
谢谢:)
注意:我想做的是 Ship + Parse Kafka 中的日志。我知道使用 Elasticsearch 连接器可以将日志传送到 elasticsearch,但我想问的是 Kafka 是否可以解析数据(Logstash 的工作)。
我将把你的问题分成两部分:
1.可以在 ElasticSearch
中索引通过 kafka 流式传输的事件吗是的,如果您将 Confluent kafka-connect 视为 Kafka 的一部分。执行索引的不是 kafka 本身,而是一个 kafka-connect 接收器连接器,它将被配置为从您的 kafka 主题中使用并为 Elasticsearch 中的事件编制索引。
您可以在此处找到更多信息:https://docs.confluent.io/current/connect/kafka-connect-elasticsearch/index.html
2。能否直接在Kafka
中实现logstash同类的解析、转换、流控功能据我所知,唯一可以帮助您执行此类操作的 Kafka 生态系统功能是 Kstreams(但您必须知道如何使用 Kstreams API 进行开发)或使用另一个名为 K 的 Confluent 软件SQL 允许在更面向分析的 Kafka 主题之上进行 SQL 流处理(即:数据过滤、转换、聚合、连接、窗口化和会话化)
您可以在此处找到有关 KStreams 的更多信息:https://kafka.apache.org/documentation/streams/
您可以在此处找到有关 KSQL 的更多信息:https://docs.confluent.io/current/ksql/docs/index.html
结论
在我看来,如果不使用 Kafka Streams 进行编程,您将无法实现 Logstash / NiFi 的所有类型的解析和转换功能 API,但您肯定可以使用 kafka-connect 来将数据传入 kafka 或从 kafka 中获取数据,就像 Logstash 一样。
这种设置的一个很好的例子(取自Confluent)是: