gpt4 book ai didi

elasticsearch - Logstash 更改时间格式

转载 作者:行者123 更新时间:2023-11-29 02:56:27 24 4
gpt4 key购买 nike

我的日志语句如下所示。

2014-04-23 06:40:29 INFO [1605853264] [ModuleName] - [ModuleName] - Blah blah

我能够很好地解析它,并使用以下 ES 字段将其正确记录到 ES

"LogTimestamp": "2014-04-23T13:40:29.000Z"

但我的要求是按如下方式记录此语句,注意 'z' 被 +0000 删除。我试过替换,gsub 但没有改变输出。

"LogTimestamp": "2014-04-23T13:40:29.000+0000"

有人可以帮忙吗?

这是我的模式

TEMP_TIMESTAMP %{YEAR}-%{MONTHNUM}-%{MONTHDAY}\s%{HOUR}:%{MINUTE}:%{SECOND} TEMP_LOG %{TEMP_TIMESTAMP:logdate}\s*?%{LOGLEVEL:TempLogLevel}\s*?\[\s?*%{BASE10NUM:TempThreadId}\]%{GREEDYDATA}

这是过滤器配置:

grok{
patterns_dir => ["patterns"]
match=> ["message", "%{TEMP_LOG}"]
}

date{
match => [ "logdate", "yyyy-MM-dd HH:mm:ss" ]
target => "LogTimestamp"
timezone => "PST8PDT"
}

mutate {
gsub => ["logdate", ".000Z", ".000+0000"]
}

我还不太了解 logstash 中字段的含义以及它们如何映射到 Elasticsearch ,这种混淆让我在这种情况下出错。

最佳答案

你可以使用 ruby​​ 插件做你想做的事!

根据你的要求,你想改变这个

"LogTimestamp": "2014-04-23T13:40:29.000Z"

"LogTimestamp": "2014-04-23T13:40:29.000+0000"

尝试使用这个过滤器

filter {
ruby {
code => "
event['LogTimestamp'] = event['LogTimestamp'].localtime('+00:00')
"
}
}

希望对您有所帮助。

关于elasticsearch - Logstash 更改时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23383047/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com