Dmi*_*yev 2 elasticsearch logstash
我有两种格式的行日志。
aaa [bbb] [ccc] ddd eee
aaa [bbb] fff ggg [ccc] ddd eee
Run Code Online (Sandbox Code Playgroud)
我已成功使用下一个logstash过滤器配置来解析它们。
filter {
dissect {
mapping => { "message" => "%{field1} [%{field2}] [%{field3}] %{message}" }
}
if "_dissectfailure" in [tags] {
dissect {
remove_tag => [ "_dissectfailure" ]
mapping => { "message" => "%{field1} [%{field2}] %{stuff} [%{field3}] %{message}" }
}
}
}
Run Code Online (Sandbox Code Playgroud)
一切按预期工作 - 没有“fff ggg”的行与第一次解剖匹配,带有“fff ggg”的行与第一次解剖不匹配 -> 得到标签“_dissectfailure”并成功与第二次解剖匹配(我看到该字段“stuff”出现在事件中并且事件没有“_dissectfailure”标签)
但logstash 在logstash-plain.log 中抱怨第一次剖析:
[2019-09-04T20:14:06,901][WARN ][org.logstash.dissect.Dissector] Dissector mapping, pattern not found {"field"=>"message", "pattern"=>"%{field1} [%{field2}] [%{field3}] %{message}", "event"=>{"input"=>{"type"=>"log"}, "@timestamp"=>2019-09-04T17:13:50.269Z, "tags"=>["beats_input_codec_plain_applied", "_dissectfailure"], "message"=>"aaa [bbb] fff ggg [ccc] ddd eee", }}
Run Code Online (Sandbox Code Playgroud)
请帮助摆脱这种毫无意义的警告,并在根本没有解剖匹配的情况下编写这样的警告?
小智 6
我知道它很旧,但对于遇到此问题的其他人来说:
curl -XPUT 'localhost:9600/_node/logging?pretty' -H 'Content-Type:
application/json' -d'
{
"logger.org.logstash.dissect.Dissector" : "ERROR"
}
'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1457 次 |
| 最近记录: |