Logstash 解剖过滤器映射到未定义的类型
Logstash dissect filter is mapping to undefined type
我正在使用 Filebeat 将日志发送到 Logstash,然后发送到 Elasticsearch 和 Kibana。
因为日志的每一行都包含由“###”分隔的值,所以我使用 'dissect' 过滤器将单个消息块拆分为不同的字段。我的过滤器配置:
dissect {
mapping => {
"message" => "%{date} %{time}###%{mode}###%{spec}###%{userid}### ..."
}
remove_field => [ "message" ]
}
所以我剖析并删除了原始消息对象。它有效,但它将它映射到 'undefined' 类型的关键字
如下面的屏幕截图所示,它放置了一个“?”在 Kibana 的字段旁边。
Kibana screenshot
我如何确保它解析为 'string' 或 'text'?现在无法可视化此数据,因为它不适用于 'undefined' 类型。
通过使用 tcp 连接作为日志馈送器将 Filebeat 替换为日志馈送器解决了我自己的问题。
我正在使用 Filebeat 将日志发送到 Logstash,然后发送到 Elasticsearch 和 Kibana。 因为日志的每一行都包含由“###”分隔的值,所以我使用 'dissect' 过滤器将单个消息块拆分为不同的字段。我的过滤器配置:
dissect {
mapping => {
"message" => "%{date} %{time}###%{mode}###%{spec}###%{userid}### ..."
}
remove_field => [ "message" ]
}
所以我剖析并删除了原始消息对象。它有效,但它将它映射到 'undefined' 类型的关键字 如下面的屏幕截图所示,它放置了一个“?”在 Kibana 的字段旁边。
Kibana screenshot
我如何确保它解析为 'string' 或 'text'?现在无法可视化此数据,因为它不适用于 'undefined' 类型。
通过使用 tcp 连接作为日志馈送器将 Filebeat 替换为日志馈送器解决了我自己的问题。