用于提取一部分 URI 的 grok 模式
grok pattern for extracting a portion of URI
我的任务是管理我们的 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 是 0-9,a-z,A-Z 的 32 个字符的唯一标识符。我可以访问 Kibana 中的整个 URI,但我最终需要 UID 成为它自己的字段,以便我可以在它上面使用 elastalert 的 query_key。包含此 UID 的行始终以“/path_to_field_1/”开头。
作为一个完全的新手,我不确定有什么(好的?)方法可以实现这一点 - 而且文档(我已经花了一个星期的时间)非常晦涩难懂。
你看grok是对的,如果前面的位总是相同的,你可以用grok来抓取UID
grok {
match => {
"uri_field" => "/path_to_field_1/%{DATA:UID}/%{GREEDYDATA}"
}
}
我的任务是管理我们的 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 是 0-9,a-z,A-Z 的 32 个字符的唯一标识符。我可以访问 Kibana 中的整个 URI,但我最终需要 UID 成为它自己的字段,以便我可以在它上面使用 elastalert 的 query_key。包含此 UID 的行始终以“/path_to_field_1/”开头。
作为一个完全的新手,我不确定有什么(好的?)方法可以实现这一点 - 而且文档(我已经花了一个星期的时间)非常晦涩难懂。
你看grok是对的,如果前面的位总是相同的,你可以用grok来抓取UID
grok {
match => {
"uri_field" => "/path_to_field_1/%{DATA:UID}/%{GREEDYDATA}"
}
}