【发布时间】:2020-12-28 18:28:13
【问题描述】:
我是 ELK 的新手,我收到以下日志消息:
[2020-07-14 13:46:40.812],[DEBUG],[PerformanceLogger],[10.11.12.13],[http-nio-8086-exec-1],[3808B7],1,[2ddf8d01-4e5b-42cf-a6d9-ac2c0a24ccf5],[],[],[],[],[],REQUEST_END,125
我想提取数字125 - 这个数字只有如果在它之前有这个确切的字符串出现:
'REQUEST_END,'
(我要称这个字段为:duration)
这是我到目前为止所做的......但它不起作用:
filter {
grok {
match => {
"message" => "^\[%{TIMESTAMP_ISO8601:alis_timestamp}\],\[%{LOGLEVEL:alis_loglevel}\s*\],\[%{DATA:alis_class}?\],\[%{IPV4:alis_clientIp}?\],\[%{DATA:alis_threadid}?\],\[%{DATA:alis_sessionid}?\],%{INT:alis_companyid}?,\[%{DATA:alis_requesttoken}?\],\[%{DATA:alis_activity}?\],\[%{DATA:alis_screen}?\],\[%{INT:alis_action}?\],\[%{INT:alis_region}?\],\[%{DATA:alis_nextscreen}?\],%{GREEDYDATA:logMessage}?"
"logMessage" =>["REQUEST_END, %{WORD:duration}"]
}
}
}
我怎样才能提取这个数字?
【问题讨论】:
标签: elasticsearch logstash kibana logstash-grok