logstash如何禁用logstash-plain.log中的“ Dissector映射,未找到模式”错误

时间:2019-09-04 17:39:05

标签: elasticsearch logstash

我有两种格式的行日志。

aaa [bbb] [ccc] ddd eee
aaa [bbb] fff ggg [ccc] ddd eee

我已成功使用下一个logstash过滤器配置来解析它们。

filter {
 dissect {
    mapping => { "message" => "%{field1} [%{field2}] [%{field3}] %{message}" }
  }
  if "_dissectfailure" in [tags] {
    dissect {
       remove_tag => [ "_dissectfailure" ]
       mapping => { "message" => "%{field1} [%{field2}] %{stuff} [%{field3}] %{message}" }
    }
  }
}

所有工作均符合预期-没有“ fff ggg”的行与第一个dissect匹配,有“ fff ggg”的行与第一个dissect不匹配->得到标签“ _dissectfailure”并成功与第二个dissect匹配(我看到了该字段事件中出现“材料”,事件中没有“ _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", }}

请帮助摆脱这种毫无意义的警告,如果根本没有解剖匹配的话就写这样的警告?

1 个答案:

答案 0 :(得分:2)

我知道它很旧,但是对于遇到此问题的其他人来说:

    curl -XPUT 'localhost:9600/_node/logging?pretty' -H 'Content-Type:
    application/json' -d'
    {
        "logger.org.logstash.dissect.Dissector" : "ERROR"
    }
    '