elasticsearch - 在Grok Debugger Kibana中获取日志字段

标签 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中获得此信息?

最佳答案

此模式:

^%{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配置将继续工作日志格式更改的一部分。

关于elasticsearch - 在Grok Debugger Kibana中获取日志字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444313/

相关文章:

csv - Logstash CSV 不起作用

ruby-on-rails - 在 CircleCI 中设置 Elasticsearch 和 Ruby on Rails

java - Camel 和 Elasticsearch 带屏蔽插件

java - Elasticsearch - 使用 java api 删除嵌套对象不起作用

debugging - 如何从hammerhead 获得更详细的调试信息?

python - 如何将单个 apache 日志条目解析为 python 对象

logging - Celery Worker – 删除警告消息 `[WARNING/MainProcess] celery@localhost ready`

json - 为什么我的 Linux 版本的 Logstash 不通过换行写入输出文件

input - 具有多个 kafka 输入的 Logstash

elasticsearch - Filebeat未将数据发送到Logstash