如何在Elastic Stack中索引正则表达式?

时间:2018-01-31 11:55:10

标签: elasticsearch elastic-stack

使用ELK / Elastic Stack进行日志管理,我想基于这样的日志行构建报告:

2018-01-31 11:50:00.212 Loading the user images took 234 ms 
2018-01-31 10:23:01.984 Loading the user images took 331 ms 
2018-01-31 10:12:41.323 Loading the user images took 512 ms 

因此,报告将采用字符串Loading the user images took

然后正则表达式将提取/took (\d+) ms/中的数字并构建图表或通知。

我该怎么做?也许这涉及以某种方式定义索引?

1 个答案:

答案 0 :(得分:1)

我会使用logstash grok过滤器。

  

https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html

使用此网站以用户友好的方式测试您的grok模式:

  

http://grokconstructor.appspot.com/do/match

我制作了一个将ms提取到timeTaken字段的模式:

%{GREEDYDATA}took %{NUMBER:timeTaken}

如果您需要更多数据,请使用在线页面进行测试并搜索grok模式。可视化在Kibana完成。