我的apache服务器中有一个应用程序的日志。
在Kibana中,我在消息字段中具有以下信息:
INFO [20 jul 2018 09:25:21] PoolJDBC - [Pool Properties] NumConnections: 50 | NumBusyConnections: 2 | NumIdleConnections: 48
我需要获取以下字段:
Date / Time: 20 jul 2018 09:25:21
NumConnections: 50
NumBusyConnections: 2
NunIdleConnections: 48
如何在Grok Debugger中获得此信息?
答案 0 :(得分:0)
此模式:
^%{LOGLEVEL} \[%{DATA:date}\].*NumConnections: %{INT:NumConnections} \| NumBusyConnections: %{INT:NumBusyConnections} \| NumIdleConnections: %{INT:NumIdleConnections}
给我这个结果:
date 20 jul 2018 09:25:21
NumConnections 50
NumBusyConnections 2
NumIdleConnections 48
我在开始时使用^%{LOGLEVEL}
是为了固定正则表达式的开始并加快速度。
还请注意,对于连接数部分,您可以使用kv过滤器,其中|
作为字段拆分,:
作为值拆分:它应为您提供与以下结果相同的结果上面的grok模式,但是如果您的日志格式的那部分发生更改,则将允许您的logstash配置保持工作。