gpt4 book ai didi

logstash - 编写 grok 模式来拆分键值对

转载 作者:行者123 更新时间:2023-12-04 05:32:00 25 4
gpt4 key购买 nike

这是我第一次使用 grok 和 elasticsearch 的经验。我正在尝试编写一个 grok 文件来解析以下行。

2017-07-25 10:48:23,477 [[api-my-app-v1-20.0.0].apiHttpListenerConfig.worker.58] INFO  esb.api-my-app-v1.get-blah.http.response - transactionID=f61b8053-70d2-11e7-b274-3639cc5335d0 creationTime=2017-07-25T10:48:23.254+10:00 txnState=END timeTaken=11

到目前为止,我已经写了这篇文章......
%{TIMESTAMP_ISO8601:timestamp}\s+%{DATA:thread}\s+%{LOGLEVEL:loglevel}\s+%{JAVACLASS:category}\s+-\s+%{GREEDYDATA:msgbody}

它给了我这个......
{
"timestamp": [
[
"2017-07-25 10:48:23,477"
]
],
"YEAR": [
[
"2017"
]
],
"MONTHNUM": [
[
"07"
]
],
"MONTHDAY": [
[
"25"
]
],
"HOUR": [
[
"10",
null
]
],
"MINUTE": [
[
"48",
null
]
],
"SECOND": [
[
"23,477"
]
],
"ISO8601_TIMEZONE": [
[
null
]
],
"thread": [
[
"[[api-my-app-v1-20.0.0].apiHttpListenerConfig.worker.58]"
]
],
"loglevel": [
[
"INFO"
]
],
"category": [
[
"esb.api-my-app-v1.get-blah.http.response"
]
],
"msgbody": [
[
"transactionID=f61b8053-70d2-11e7-b274-3639cc5335d0 creationTime=2017-07-25T10:48:23.254+10:00 txnState=END timeTaken=11"
]
]
}

这几乎就是我想要的。如何将当前结果中的 msgbody 拆分为键值对?

谢谢

最佳答案

使用 kv 滤波器:

kv { 
source => "msgbody"
}

您将获得来自 msgbody 的 key 对值在结果中的字段中。如果键发生变化,您也不必更改您的 grok 模式。

关于logstash - 编写 grok 模式来拆分键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45294327/

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