我如何摄取到为 splunk 创建的 Kafka 文本文件?

How can I ingest into Kafka text files that were created for splunk?

我正在评估使用 apache-kafka 来摄取现有的文本文件,在阅读文章、连接器文档等之后,我仍然不知道是否有一种简单的方法来摄取数据,或者它是否会需要改造或自定义编程。

背景:

我们有一个遗留的 java 应用程序 (website/ecommerce)。以前有一个splunk server做几个analytics。

splunk 服务器消失了,但我们仍然生成用于将数据提取到 splunk 中的日志文件。

使用 splunk-forwarders 将数据提取到 Splunk;转发器读取具有以下格式的日志文件:

date="long date/time format" type="[:digit:]" data1="value 1" data2="value 2" ...

每个事件都是一行。键“type”定义事件类型,其余键=值对因事件类型而异。

问题:

要使用这些相同的文件将数据发送到 Apache Kafka,我有哪些选择?

编辑 (2021-06-10):发现这种日志格式称为 Logfmt (https://brandur.org/logfmt)。

事件是单行明文,所以你只需要一个 StringSerializer,不需要转换

如果您想替换 Splunk 转发器,那么 Filebeat 或 Fluentd/Fluentbit 是将数据传送到 Kafka and/or Elasticsearch 而不是 Splunk

的常用选项

如果你想pre-parse/filter数据写入JSON或其他格式到Kafka,Fluentd或Logstash可以处理