elasticsearch - 通过 url 设置 Kibana 仪表板过滤器

标签 elasticsearch kibana kibana-6

我创建了一个 Kibana 仪表板,其中包含一些可视化。我可以使用提供的 url 成功嵌入仪表板:

{url}/app/kibana#/dashboard/{dashboard_uuid}?embed=true&_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-1y,mode:quick,to:now))

现在,我希望我的应用程序的任何用户都能看到这个仪表板,过滤后只能看到他们的数据。我需要的过滤查询很简单,因为所有的数据都包含一个字段user_id .

示例:对于标识符为 $id 的用户,我想加载带有过滤器的仪表板 user_id:$id
有没有办法通过url设置过滤器?我看到已经有一些参数( refreshIntervaltime ..)但我找不到合适的文档。有任何想法吗?

使用 Kibana 6.2.2和 ElasticSearch 6.6.0
我尝试通过 _a 设置过滤器参数,如下所述:https://discuss.elastic.co/t/dashboard-search-parameter-via-url/84385没有成功。
{url}/app/kibana#/dashboard/{dashboard_uuid}?
      embed=true&
      _g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-1y,mode:quick,to:now))&
      _a=(filters:!(),query:(querystring:(query: "user_id:1")))

最佳答案

我在寻找一个稍微相似的问题的解决方案时偶然发现了这一点。我想我会分享两个我已经[主要]工作的选项,但任何一个都应该做你正在寻找的。

将变量设置为应用程序状态的 URL:

../app/dashboards#/view/{dashboard_uuid}?_a=(filters:!((query:(match_phrase:(user_id:$id)))))
使用此方法,过滤器不会“固定”,因此如果您的登录仪表板上有另一个链接,则单击该链接时过滤器将不会保留。但是,您的其他全局状态设置(时间范围等)会保留。

变量设置为全局状态的 URL:
../app/dashboards#/view/{dashboard_uuid}?_g=(filters:!((query:(match_phrase:(user_id:$id)))))
使用此方法,过滤器被“固定”并在其他点击期间保持不变。但是,此 URL 将覆盖所有其他全局状态设置(时间范围等)。

This is where I am. I would like the filter to remain pinned, but if I have a time filter set as well, clicking this link will unfortunately default to the timepicker:timeDefaults setting in Kibana.



我仍然没有找到解决我的问题的方法,但我希望这能回答最初的问题;或者也许可以帮助在这里绊倒的其他人(看到这个线程现在很老了)。

关于elasticsearch - 通过 url 设置 Kibana 仪表板过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55757964/

相关文章:

c# - 如何在NEST,C#中按周为date_histogram编写等效查询

javascript - 在 Lambda 的索引名称中包含日志组名称

console - 如何在 Kibana 控制台中写评论?

elasticsearch - 如何在Kibana的Discover UI中查看组/ session 中的日志行?

elasticsearch - Logstash geoip随机故障

elasticsearch - Logstash jdbc插件问题

Elasticsearch - 忽略索引文档中的字段

elasticsearch - 在Elasticsearch中重新索引时 “size”中的 ‘query’没有影响