有没有办法在Kibana仪表板中定义动态查询?

时间:2017-03-24 11:26:20

标签: elasticsearch kibana kibana-5

有人提出了一个类似的问题here,但目前还没有答案。这个问题与旧版Kibana有关,所以我希望你能帮助我。

我正在尝试在Kibana仪表板中设置一些预定义的查询。我正在使用Kibana 5.1。这些查询的目的是根据多个不同的参数过滤一些日志。

让我们看一下我想要执行的查询:

{
  "index": "${index_name}",
  "query": {
    "query_string": {
      "query": "message:(+\"${LOG_LEVEL}\")",
      "analyze_wildcard": true
    }
  }
}

我知道我可以在仪表板中直接查询类似"message:(+"ERROR")"的内容,并手动将ERROR更改为WARN,但我不希望这样 - 想象一下此查询可能更复杂,包含多个字段。

请注意,message中存储的数据未结构化 - 将邮件视为整个日志行。这意味着我没有LOG_LEVEL这样的字段,我可以直接过滤。

我有什么方法可以从Kibana Discover信息中心动态设置index_nameLOG_LEVEL

1 个答案:

答案 0 :(得分:2)

您应该去发现,打开一个文档,然后在任何字段中单击此按钮Mirroring glass。在此之后,搜索栏下方会显示一个过滤器,您可以对其进行编辑并添加任何自定义查询。如果您想添加更多具有更多自定义查询的过滤器,您可以使用不同的文档或字段重复相同的操作,或者您可以执行设置(或管理),保存的对象,转到您保存的搜索和JSON表示并复制和将元素粘贴到filter数组字段中所需的次数。

请记住,为了应用其中一个过滤器,您可能应禁用已启用的过滤器(否则它将按仪表板中所有已启用的过滤器进行过滤)。