当前位置: 首页 > news >正文

用变量控件提升 Kibana 仪表板的互动性

作者:来自 Elastic Teresa Alvarez Soler

了解如何在 Kibana 8.18+ 中使用变量控件来筛选单个可视化、调整时间间隔,并按不同字段进行分组。

用一个解决方案来观察、保护并搜索你的数据。从应用监控到威胁检测,Kibana 是你在关键用例中的多功能平台。立即开始免费的 14 天试用。

我们很高兴与你分享,从 8.18 版本开始以及所有 9.x 系列,变量控件现在已经在 Kibana 仪表板中可用!这个功能一直是仪表板用户最常请求的新增功能之一 —— 现在它终于来了 🎉 在过去的几个月里,我们持续扩展并优化变量控件,现在正是为它们推出专门博客文章的最佳时机。

什么是变量控件?

如果你之前使用过 Kibana 仪表板,你大概已经熟悉经典的仪表板控件 —— 那些方便的下拉菜单,会从你的数据中显示值,让你只需点几下就能完成筛选。

变量控件表面上看起来很相似,但它们有一个巧妙的变化:它们不会自动筛选仪表板上的每个面板,而是可以直接插入到单个可视化内部的 ES|QL 查询中。

这意味着你可以决定每个控件作用在哪里。更棒的是,你可以用它们做各种创意操作 —— 比如微调时间间隔、切换拆分字段,或即时改变可视化参数。基本上,它们让你的仪表板拥有真正的交互体验,让你更快、更轻松地获得洞察。

变量控件的使用场景

好吧,变量控件听起来很有用 —— 但你实际上能用它们做什么?下面是一些它们如何提升仪表板的例子:

筛选选定的可视化

想只筛选某些可视化,而让其他保持不变?变量控件正好能做到这一点。选择你希望响应的面板,并把它们接入可视化背后的 ES|QL 查询中即可。

选择不同的时间间隔

让你的用户能够在 “5 minutes”、“1 hour”、“1 day” 或任何合理的时间桶之间切换。构建一个带有预定义间隔的变量控件,并将它连接到你的时间序列查询中。

更改函数

不需要为每个操作创建多个图表,让仪表板用户自己选择想查看 max、avg、不同百分位数或其他任意聚合器即可。

你要如何创建它们?

创建变量控件最简单(也可能是最令人愉悦)的方式,就是直接在可视化中的 ES|QL 查询编辑器里完成。只需开始输入你的查询,使用自动完成菜单,Kibana 就会贴心地为你搭好控件的框架。

但如果你更喜欢从变量本身开始,你也可以前往:Add panel → Controls → Variable control,然后在创建控件后把变量添加到你的可视化中。

示例 1:带多值选择的筛选控件

1)选择一个由 ES|QL 查询驱动的可视化,并在 WHERE 子句里点击 “Create control”

2)你会自动被重定向到变量创建窗口,其中会为你选中 “Values from a query” 类型,并且变量名已经被预先填好。记住,控制项的名字必须以 “?...” 开头,才能在可视化查询中正常工作。

你通常需要像下面这样的查询,从字段中获取值,并根据仪表板中选择的时间范围更新这些值。

FROM <datasource_name> | WHERE @timestamp <=?_tend and @timestamp >?_tstart | STATS BY <field_name>

3)保存控制项后,你会看到它出现在仪表板的顶部,同时你的可视化查询会被更新为使用该变量控制项的名字。

4)如果你想为控制项添加多值选择,需要在查询中使用 MV_CONTAINS 函数,并在第 2 步创建控制项时选择 “Allow multiple selections”(从 9.3 版本开始可用)。

示例 2:时间间隔控制

如果你在构建时间序列,可以轻松为你的日期直方图间隔添加变量控制:

1)在为时间序列编写 ES|QL 查询时,点击 “Create control”。在为间隔创建变量时,最好使用 TBUCKET 而不是 BUCKET,这样可以接受更易读的间隔,如 “1 hour”、“1 day”等。TBUCKET 很快还会提供一个自动选项,以便根据时间范围自动调整。

2)定义间隔,用于填充下拉菜单中的选项。

3)在下拉菜单中选择不同的间隔,观察你的可视化是如何变化的。

示例 3:函数变量

1)使用 “Static values” 类型的控制项创建变量,并将函数名称添加到下拉菜单的值中。重要的是,变量名必须以 “??...” 开头,以便替换函数。

2)在你的 ES|QL 查询中包含该变量名。

示例 4:字段变量

1)你可以使用 “Static values” 类型的控制项,并写下你想要的字段名称。重要的是,变量名必须以 “??...” 开头,才能在字段中生效。

2)在可视化查询中,在需要的地方引用该变量。

Discover 中的变量控制

变量控制不仅是仪表板的功能 —— 它们在 Discover 的 ES|QL 编辑器中也可用。你可以在 Discover 中创建控制项,以实现更快速的数据探索体验,并将它们带到仪表板,反之亦然。

技术细节

到现在,你可能已经注意到变量控制有一些规则——比如它们可以引用查询的哪些部分,以及你需要使用的命名前缀(“?...” 用于值,“??...” 用于字段或函数)。这是因为变量不仅仅是在客户端进行的简单字符串替换。它们实际上是查询语言中的一等公民(在 ES|QL 中称为参数)。

这种设计带来了几个重要优势。首先,Kibana 可以理解每个变量的上下文,从而为你自动生成并预填其配置。它也更安全:由于语言严格验证变量输入,它可以防止恶意注入,并在发现异常时优雅地报错。此外,通过将复杂的验证和错误处理移到服务器端而非客户端,还能提升性能和稳定性。关于性能的提示,最佳实践是构建包含快速查询的变量,因为它们会在仪表板加载前运行,慢查询可能会影响整个仪表板的性能。

当然,这种架构目前也有一些限制。变量尚不支持用于过滤的 “Any” 选项,也不能与某些操作符一起使用,如 LIKE 或 FROM(用于切换数据源)。好消息是?我们正在积极开发这些功能。

控制项的未来发展

我们不会止步于此!我们关注的一些改进方向包括:

✨ 能够将控制项放置在仪表板的任意位置

✨ 控制项链式操作 —— 一个控制项的输出成为下一个的输入

✨ 更好的选择选项,如变量的 “Any” 选择

✨ 新的控制类型(搜索型控制和数据源变量)

✨ 以及更多你们期待的质量改进,比如普通控制项的预过滤

如果你有想法或反馈,我们非常乐意听取。

原文:https://www.elastic.co/search-labs/blog/kibana-dashboard-interactivity-variable-controls-overview

http://www.jsqmd.com/news/932845/

相关文章:

  • Qt5.15项目里QWebEngine加载网页卡死?别急着改源码,先试试这个Windows证书策略
  • 从啤酒尿布到机器学习:用Python实战关联规则,5分钟看懂Apriori算法核心
  • WeChatMsg完全指南:将微信聊天记录转化为你的个人AI训练素材
  • Sora 2教育版首曝实测:单次生成达标率83.6%,但91%的失败源于这4个被忽略的提示词陷阱
  • 1-Bit Bonsai Image 4B:仅 0.93GB 的本地图像生成模型,手机也能跑
  • 终极语音转字幕工具:5分钟快速实现视频自动字幕生成
  • Hy-MT2-1.8B-1.25Bit-GGUF性能评测:超越主流商业API的轻量级翻译神器
  • LongCat-Flash-Lite-FP8未来发展方向:技术路线图与社区发展计划
  • WechatDecrypt实战指南:微信数据库AES-256-CBC加密深度解析与完整解决方案
  • 深入剖析MySQL InnoDB引擎底层针对Redis布隆过滤器防止缓存穿透的锁竞争与死锁检测内幕
  • GTA5线上小助手:5大核心功能彻底改变你的洛圣都体验
  • 10个实用场景!bge-large-en-v1.5-openmind在检索增强与语义搜索中的创新应用
  • ELAA近场信道估计:技术挑战与创新解决方案
  • 解决java.security.InvalidKeyException: Illegal key size
  • Ubuntu 20.04上从零复现A-Loam:我踩过的那些坑和最终解决方案
  • Windows Server 2016评估版总自动关机?别慌,用DISM命令换个正式版序列号就搞定
  • 字典Dictionary
  • 如何让微信聊天记录成为你的数字人生档案馆?WeChatMsg完整使用指南
  • 如何快速获取完美歌词同步:163MusicLyrics开源工具完全指南
  • Sora 2体育视频生成正在淘汰传统转播车?:2024东京奥运会预演数据显示——单场赛事成本下降68%,但需在48小时内完成这6项合规改造
  • Sora 2商业广告落地指南(企业级合规+ROI可量化版)
  • 从零开始:如何在电脑上完美运行Switch游戏的5步指南
  • CFnew插件系统:如何开发自定义插件
  • JSCPC现场赛生存手册:从Ubuntu命令行编译到看气球颜色‘抄作业’
  • ToDesk Linux客户端配置全解析:手把手教你读懂config.ini,管理连接密码与安全设置
  • 从鸡尾酒会到脑电波:用Python和ICA算法实战盲信号分离(保姆级教程)
  • 第一次打JSCPC(江苏省赛)是种什么体验?给新手小白的5点避坑指南
  • Odysseus AI工作空间10大核心功能详解:从聊天到深度研究的完整套件
  • CryptoSRAM:物联网安全加密的内存计算新范式
  • EhViewer开源漫画应用完整指南:从入门到精通的四步进阶