logstash怎么只获取filebeat写入Kafka的数组的部分数据
时间: 2024-03-07 17:50:41 浏览: 67
47_Flume、Logstash、Filebeat调研报告
如果你想让Logstash只获取filebeat写入Kafka的数组中的部分数据,可以在Logstash中使用JSON解析器来解析数组,然后使用filter插件来对解析后的数据进行处理。
具体的操作步骤如下:
1. 在Logstash的配置文件中,使用Kafka输入插件来消费Kafka中的数据。
2. 在输入插件中设置codec为json,这样Logstash就会将从Kafka中读取的数据解析为JSON格式。
3. 在filter插件中使用json解析器来解析数组,并选择需要的部分数据。
举个例子,假设你想要从filebeat发送的JSON数组中获取其中的message字段和timestamp字段,可以在Logstash的配置文件中添加如下filter插件配置:
```
filter {
json {
source => "message"
remove_field => ["message"]
}
mutate {
rename => { "[timestamp]" => "event_timestamp" }
remove_field => ["@timestamp"]
}
}
```
上面的配置中,首先使用json解析器解析message字段中的JSON数组,并将解析后的结果放入到Logstash的事件中。
然后使用mutate插件重命名timestamp字段,并将其放入到event_timestamp字段中。
最后使用remove_field选项来删除不需要的字段。
通过这种方式,你就可以在Logstash中获取filebeat发送的JSON数组中的部分数据了。
阅读全文