Kibana实现Dashboard实体点击跳转至Discover页面并获取对应日志
实现Kibana Dashboard实体点击跳转Discover并过滤精准日志
嘿,这个需求其实在Kibana里很好实现,核心就是利用可视化的自定义跳转功能,把点击的实体参数传递给Discover页面自动过滤。我给你一步步拆解:
1. 开启可视化的点击跳转功能
首先得让目标可视化支持点击跳转,大部分常用可视化(表格、条形图、饼图、Lens图表等)都支持:
- 打开你的Kibana Dashboard,找到要设置的可视化组件,点击右上角的编辑图标(笔形按钮)进入编辑界面。
- 切换到**面板选项(Panel options)标签页,找到交互(Interactions)**区域,勾选「在点击时导航到URL(Navigate to URL on click)」选项。
2. 构建带过滤参数的跳转URL
这一步是关键,要通过Kibana的上下文变量把点击的实体值传递给Discover,自动生成过滤条件:
- 基础URL是Kibana Discover的路径:
/app/discover - 我们需要用
_a参数来传递Discover的状态(包括索引模式、过滤查询)。你可以先手动在Discover里配置好对应实体的过滤条件,然后复制地址栏中_a=后面的字符串,再把固定的实体值替换成上下文变量{{value}}。
举个实际例子:
假设你要点击user_id实体跳转,先在Discover里选择目标索引模式,添加过滤user_id: "12345",复制地址栏的_a参数后,把URL改成:
/app/discover#?_a=(index:'你的索引模式ID',query:(language:kuery,query:'user_id: "{{value}}"'))
这里的{{value}}会自动替换成你点击的具体user_id值,比如点击67890,跳转后Discover就会自动过滤user_id: "67890"的日志。
3. 验证测试
- 保存可视化和Dashboard,回到Dashboard页面,点击目标实体(比如某个user_id条目),检查是否成功跳转到Discover,且日志已经被精准过滤。
进阶小技巧
- 如果需要多条件过滤,可以在
query里拼接,比如:'user_id: "{{value}}" AND log_level: "error"' - 如果你用的是Lens可视化,设置入口是:编辑界面右上角的「更多选项」→「面板选项」,同样配置跳转URL和变量。
- 除了
{{value}},还可以用{{key}}获取字段名,适合动态字段的场景,但大部分情况下{{value}}就够用了。
内容的提问来源于stack exchange,提问作者Vetrivelkumar Pandi
相关产品推荐
相关产品推荐

