有没有办法在 Kibana 仪表板中定义动态查询?
Is there a way to define a dynamic query in Kibana dashboard?
有人问了一个有点类似的问题 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
吗?
您应该去发现、打开一个文档并在任何字段中单击此按钮。在此之后,搜索栏下方将出现一个过滤器,您可以对其进行编辑并放置任何自定义查询。如果您想添加更多具有更多自定义查询的过滤器,您可以对不同的文档或字段重复相同的操作,或者您可以对设置(或管理)、保存的对象进行操作,转到您保存的搜索和 JSON表示并根据需要多次复制并粘贴 filter
数组字段中的元素。
请记住,为了应用其中一个过滤器,您可能应该禁用已启用的过滤器(否则它将被仪表板中所有已启用的过滤器过滤)。
有人问了一个有点类似的问题 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
吗?
您应该去发现、打开一个文档并在任何字段中单击此按钮filter
数组字段中的元素。
请记住,为了应用其中一个过滤器,您可能应该禁用已启用的过滤器(否则它将被仪表板中所有已启用的过滤器过滤)。