我正在使用filebeat将日志发送到logstash,然后将日志发送到Elasticsearch和Kibana。因为日志的每一行都包含由" ###"界定的值,所以我使用" Dissect"过滤器将单个消息块拆分为不同字段。我的过滤器配置:
dissect {
mapping => {
"message" => "%{date} %{time}###%{mode}###%{spec}###%{userid}### ..."
}
remove_field => [ "message" ]
}
因此,我剖析并删除原始消息对象。它有效,但它映射到类型"未定义"的关键字如下面的屏幕截图所示,它放置了"?"Kibana的田野旁边。
基巴纳屏幕截图
如何确保它剖析键入'字符串'或"文本"?目前,无法可视化这些数据,因为它不适用于"未定义"类型。
通过使用TCP连接作为日志馈线替换文件馈线,修复了我自己的问题。