Grokparsefailure和dateparsefailure-Logstash

时间:2018-10-19 13:01:16

标签: regex elasticsearch logstash kibana

大家好,我有OS日志,我想将@timestamp更改为日志中的时间:

Wed Oct 10 23:46:19 2018 +02:00 
LENGTH : '2295'
ACTION :[2143] 'select /*+ '
DATABASE USER:[3] 'SYS'
PRIVILEGE :[4] 'NONE'
CLIENT USER:[0] ''
CLIENT TERMINAL:[7] 'UNKNOWN'
STATUS:[1] '0'
DBID:[10] '0088'

接下来,在Logstash中,我使用以下过滤器:

grok {
      match => [ "message", "%{DAY:day} %{MONTH:month} %{MONTHDAY:monthday} %{TIME:time} %{YEAR:year} %{ISO8601_TIMEZONE:timezone} .*LENGTH : .%{INT:length}.*ACTION :\[\d*\] .%{GREEDYDATA:action}.*DATABASE USER:\[\d*\] '%{GREEDYDATA:database_user}'.*PRIVILEGE :\[\d*\] '%{GREEDYDATA:privilege}'.*CLIENT USER:\[\d*\] '%{GREEDYDATA:client_user}'.*CLIENT TERMINAL:\[\d*\] '%{GREEDYDATA:client_terminal}'.*STATUS:\[\d*\] '%{INT:status}'.*DBID:\[\d*\] '%{GREEDYDATA:dbid}'.*"]
     }

mutate {
    add_field => {
                "timestamp" => "%{month} %{monthday} %{year} %{time}"
                }
    }

    date {
        match => [ "timestamp", "MMM dd yyyy HH:mm:ss"]
        target => "@timestamp"
    }

但是,我在kibana中出错:

_grokparsefailure, _dateparsefailure

此外,其他字段未映射,而在时间戳字段中,我具有:

%{month} %{monthday} %{year} %{time}

如果我删除了日期过滤器插件,则其他字段仍然有效,但没有更改@timestamp。

我也在使用filebeat中的多行选项。

预先感谢

0 个答案:

没有答案