Ric*_*hie 5 logstash logstash-grok
这是我第一次使用 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
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经写了这个 grok...
%{TIMESTAMP_ISO8601:timestamp}\s+%{DATA:thread}\s+%{LOGLEVEL:loglevel}\s+%{JAVACLASS:category}\s+-\s+%{GREEDYDATA:msgbody}
Run Code Online (Sandbox Code Playgroud)
它给了我这个......
{
"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"
]
]
}
Run Code Online (Sandbox Code Playgroud)
这几乎就是我想要的。如何将当前结果中的 msgbody 拆分为键值对?
谢谢
使用 kv 滤波器:
kv {
source => "msgbody"
}
Run Code Online (Sandbox Code Playgroud)
msgbody
您将获得结果中字段中的键对值。如果琴键发生变化,您也不必更改您的 grok 模式。
归档时间: |
|
查看次数: |
6447 次 |
最近记录: |