我有一个如下的休息端点:
GET /files/{id}/properties
我想在kibana发现选项卡中通过uri过滤此端点,但是我不知道如何在kibana中编写诸如'/ files / * / properties'之类的正则表达式。我将端点uri存储在uri字段中。我怎样才能做到这一点?
最佳答案
在kibana中直接使用正则表达式很难,但是您可以在Kibana过滤器中使用正则表达式,因为您可以直接编辑过滤器。您可以在kibana中添加一个随机过滤器,然后单击以编辑过滤器,如下所示: [如果使用不包含/
的 token 生成器,则有效]
{
"query": {
"regexp": {
"uri": {
"value": "/files/.*/properties"
}
}
}
}
有关如何添加和编辑过滤器的信息:See this
更新:
刚刚尝试过,看来如果您使用的是默认标记器,则您的网址将被标记为
["files", "${id}", "properties"]
。在这种情况下,我认为您无法使用正则表达式进行全面搜索。正则表达式仅适用于单个单词。我认为在这种情况下,您应该使用词组匹配:{
"query": {
"match": {
"uri": {
"query": "files properties",
"type": "phrase",
"slop": "2"
}
}
}
}
在此处查看有关phrase match with slop的文档。