在Grok Debugger Kibana中获取日志字段

时间:2018-07-20 14:04:06

标签: elasticsearch logging logstash kibana filebeat

我的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中获得此信息?

1 个答案:

答案 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配置保持工作。