我的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中获得此信息?
最佳答案
此模式:
^%{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}
来 anchor 定正则表达式的开始并加快速度。另请注意,对于连接数部分,您可以使用kv过滤器,其中
|
作为字段拆分,而:
作为值拆分:它应该为您提供与上述grok模式相同的结果,但如果这样,您的logstash配置将继续工作日志格式更改的一部分。