【发布时间】:2017-03-24 11:26:20
【问题描述】:
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_name 和 LOG_LEVEL?
【问题讨论】:
-
你到底想做什么?在发现页面中有一堆过滤器与您的查询?通过 url 参数指定这些参数?要在下拉列表中选择要执行的查询?第一个应该是可能,第三个可以通过模板在 Grafana 中实现(但在 Kibana 中不行),第二个我认为不可能(直到他们实现了合理的 URL... )
-
第一个会很好,应该足够了。第三个将是完美的,具有类似于 Grafana 的东西(或者至少是 OpenTSDB,它几乎相同但更丑)。
-
ATM 只有搜索历史可用,以及保存的搜索。无论如何,进入保存的搜索界面然后在那里调整参数有点烦人,所以我希望有更好的方法。
-
如果您要发现并添加任何过滤器(转到其中一个文档并使用 + 单击镜像玻璃),您可以编辑它们,放置查询和该过滤器所需的别名(不知道你这样行不行)。这种方法的唯一问题是,每次要查找特定消息时,您都必须禁用一个过滤器并启用另一个过滤器。如果您有很多过滤器并且这很繁琐,您可以转到保存的对象并复制并粘贴过滤器数组的元素。
-
感谢您的回答 :) 这并不完全是我正在寻找的 - 这将更多地与 Kibana 中的 UI 相关联,但它可以帮助我完成工作 :)
标签: elasticsearch kibana kibana-5