我的任务是管理我们的ELK堆栈并为elastalert编写规则,但是需要我已经拥有的一个字段的特定部分作为其自己的字段,以便在该字段上使用elastalert的query_key功能。我们在这里使用这些规则:
https://github.com/hpcugent/logstash-patterns/blob/master/files/grok-patterns
/ 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 /".
开头作为一个新手,我不确定可能会有什么(好的?)方法来实现这一点 - 而且文档(我已经持续了一周)是非常神秘的。
答案 0 :(得分:2)
你在正确的轨道上看着grok,如果前面的位总是相同的,你可以使用grok来获取UID
grok {
match => {
"uri_field" => "/path_to_field_1/%{DATA:UID}/%{GREEDYDATA}"
}
}