用于提取URI的一部分的grok模式

时间:2016-07-05 18:06:42

标签: elasticsearch logstash elastic-stack grok

我的任务是管理我们的ELK堆栈并为elastalert编写规则,但是需要我已经拥有的一个字段的特定部分作为其自己的字段,以便在该字段上使用elastalert的query_key功能。我们在这里使用这些规则:

https://github.com/hpcugent/logstash-patterns/blob/master/files/grok-patterns

  • 我需要的字段是我们已经捕获的URIPATHPARAM的一部分:

/ path_field_1 / UID / path_field_2 / path_params

其中UID是32个字符的唯一标识符0-9,a-z,A-Z。我可以访问Kibana中的整个URI,但我最终需要UID成为它自己的字段,以便我可以使用elastalert的query_key。包含此UID的行总是以“/ path_to_field_1 /".

开头

作为一个新手,我不确定可能会有什么(好的?)方法来实现这一点 - 而且文档(我已经持续了一周)是非常神秘的。

1 个答案:

答案 0 :(得分:2)

你在正确的轨道上看着grok,如果前面的位总是相同的,你可以使用grok来获取UID

grok {
  match => {
    "uri_field" => "/path_to_field_1/%{DATA:UID}/%{GREEDYDATA}"
  }
}