Date 日志存储日期ISO8601转换

Date 日志存储日期ISO8601转换,date,logstash,Date,Logstash,我想将日志存储日期类型转换为此类型2015-12-03 03:01:00和[message][3]-[message][1] 日期匹配不起作用,我该怎么办 或%{[message][0]}表达式是否正确 filter { multiline { ............. } grok { match => { "message" => "%{GREEDYDATA:message}" } overwrite =&g

我想将日志存储日期类型转换为此类型
2015-12-03 03:01:00
[message][3]-[message][1]

日期匹配不起作用,我该怎么办

%{[message][0]}
表达式是否正确

filter {
    multiline {
       .............
    }
    grok {
        match => { "message" => "%{GREEDYDATA:message}" }
        overwrite => ["message"]
    }
    mutate {
        gsub => ["message", "\n", " "]
        split => ["message", " "]
    }
    date {
        match => [ "%{[message][0]}","ISO8601"} ]
    }
}
如下所示的消息输出:

"message" => [
[0] "2015-12-03T01:33:22+00:00"
[1]
[2]
[3] "2015-12-03T01:33:24+00:00"
]

假设您的输入是:

2015-12-03T01:33:22+00:00\n\n2015-12-03T01:33:24+00:00
您可以在不拆分的情况下进行以下操作:

match => { message, "%{TIMESTAMP_ISO8601:string1}\\n\\n%{TIMESTAMP_ISO8601:string2}" }

然后,您可以使用日期{}过滤器,将string1或string2作为输入。

I'm lost。请编辑此问题,使您的问题和所需的输出清晰,使用清晰的语法和明显缺乏黑体或大字体。如果我们无法理解您的意思,我们将无法帮助您。请发布示例输入?您的grok{}筛选器除了浪费CPU时间外,什么也不做。没有理由接受[消息],匹配所有内容,然后将其放回[消息]中。