logstash - 从filebeat发送json消息到logstash
问题描述
我想通过 filebeat 将 json 格式的消息发送到 logstash。
我可以通过在filebeat中编写以下内容来过滤json中的每个键值:
json.keys_under_root: true
json.add_error_key: true
json.message_key: message
但是,无法处理多行。如何获得多线?
而且,我可以摆脱默认添加到filebeat的字段吗?我想从 filebeat 中删除元数据。我只想接收从logstash 发送的信息。就像在文件中一样。没有办法吗??
{"1": "val1" ,"2": "val2" ,"3": "val3\nval3\nval3" }
解决方案
您的问题与多行无关。我认为我们需要更多上下文,但是您应该查看 json 过滤器插件文档:https ://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html
您的 logstash 管道应如下所示:
input {
beats {
port => 'xxxx'
}
}
filter {
json {
source => "message"
}
mutate {
# put the terms you want to exclude from your metadata on the "remove_field" array
remove_field => ["beat","input","prospector","offset"]
}
}
output {
[...]
}
推荐阅读
- c++ - Eigen DenseBase 分段错误
- python - 为什么 nltk 中的词干提取\词形还原不能在 pandas 数据帧上准确执行?
- android - 一段时间后自动更改 Firebase Firestore 中的字段值
- linq - 如何避免在此 LINQ 中重复该语句的某些部分
- java - DAO 接口、类和工厂
- python - python pandas中的列和行中的多个过滤器
- excel - 如何将某些特定数据从一个 excel WB 导出到另一个?
- python-3.x - 从 (2n+1) 个元素计算四分位数时,Pandas 返回意外结果
- c - 将 C typedef 结构转换为 Swift
- python - 加载这种边缘列表文件格式的正确方法是什么?