想知道我有2种不同grok模式的日志...我想把它放在IF语句中

时间:2019-05-09 06:10:07

标签: elasticsearch logstash kibana filebeat

我在一个日志中有2种模式,我想用if语句将其放在grok模式中

1.%{LOGLEVEL:log} \[%{DATA:class}\] %{NOTSPACE:Property} %{SPACE} %{NOTSPACE} %{NOTSPACE} (?<id>[^ ]*) %{NOTSPACE} %{NOTSPACE} %{IPORHOST:ip}


2.%{LOGLEVEL:log} \[%{DATA:class}\] %{NOTSPACE:Property}:\ %{SPACE} %{NOTSPACE} %{DATA:symbol},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:buyBrokerId},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:price},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:buyFee},%{SPACE} %{DATA:sellFee},

1 个答案:

答案 0 :(得分:0)

if [type] == "" {
    grok {
      match => { "message" => ["%{LOGLEVEL:log} \[%{DATA:class}\] %{NOTSPACE:Property} %{SPACE} %{NOTSPACE} %{NOTSPACE} (?<id>[^ ]*) %{NOTSPACE} %{NOTSPACE} %{IPORHOST:ip}" , "%{LOGLEVEL:log} \[%{DATA:class}\] %{NOTSPACE:Property}:\ %{SPACE} %{NOTSPACE} %{DATA:symbol},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:buyBrokerId},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:price},%{SPACE} %{NOTSPACE},%{SPACE} %{NOTSPACE},%{SPACE} %{DATA:buyFee},%{SPACE} %{DATA:sellFee},"] }
    }
  }