在kibana中按uri param筛选

时间:2019-03-18 22:32:06

标签: regex elasticsearch kibana

我有一个如下的休息端点:

GET /files/{id}/properties

我想在kibana发现选项卡中通过uri过滤此端点,但是我不知道如何在kibana中编写诸如'/ files / * / properties'之类的正则表达式。我将端点uri存储在uri字段中。我该怎么办?

1 个答案:

答案 0 :(得分:0)

很难在kibana中直接使用正则表达式,但是您可以在Kibana过滤器中使用正则表达式,因为您可以直接编辑过滤器。您可以在kibana中添加一个随机过滤器,然后单击以编辑过滤器,如下所示: [如果您使用的标记器不包含/,则可以使用

{
  "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的文档。