警告:此功能处于 beta 版本,可能会更改。 该设计和代码不如正式的 GA 功能成熟,并且按原样提供,不提供任何担保。 Beta 功能不受官方 GA 功能的支持 SLA 约束。此功能在 7.11 及以上版本提供。

URL 模板 输入使用 Handlebars(一种简单的模板语言)。handlebars 模板看起来像带有嵌入的 handlebars 表达式的常规文本。

https://github.com/elastic/kibana/issues?q={{event.value}}

在上面,我们可以在 {{ }} 加入空格以使得更易阅读。 Handlebars 表达式是 {{,有些内容后跟 }}。 当执行向下钻取时,这些表达式将被仪表板和交互上下文中的值替换。

URL 模板包含如下的三个部分:

  • Handlebars
  • Variables
  • Helpers

在今天的练习中,我来展示如何使用上面的一些 variables 及 helpers 来完成在 Kibana dashboard 中的 drilldown。在今天的练习中,我将使用 Elasticsearch 7.11 来进行展示。

准备数据

我们可以从 github 下载已经准备好的数据:

git clone https://github.com/liu-xiao-guo/kibana-drilldown-dataset

在上面的仓库中,有一个叫做 ratings_small.csv 的文件。这个数据是电影院 imdb 的真实数据。如果你感兴趣的话,你可以到 kaggle.com 去下载。它的文件格式如下:

rating_small.csv

userId,movieId,rating,timestamp
1,31,2.5,1260759144
1,1029,3.0,1260759179
1,1061,3.0,1260759182
1,1129,2.0,1260759185

我们可以通过如下的方式来把数据导入到 Elasticsearch 中。

我们选择刚才已经下载的 ratings_small.csv 文件。

请注意在上面,我们需要修改 timestamp 的 type 为 date。我们点击 Import 按钮。我们接下来为 movies 索引创建一个 index pattern:

我们选择 timestamp 为 Time field。点击上面的 Create index pattern。这样我们就创建好了 movies index pattern。我们可以在 Discover 中看到导入的数据:

从上面的数据中,我们可以看到是从1970年1月11日到1970年1月18日之间的数据。

创建 Dashboard

依据上面的数据,我们来创建两个可视化化:

保存上面的可视化为 movies per day。如法炮制,我们创建了另外一个如下的可视化:

X 轴上是 movieid,在 Y 轴上显示的是 数量。

我们把上面的两个可视化放到我们的 movies Dashboard 中去:

这样我们就创建好了 Dashboard。

创建 range selection drilldown

在上面的第一个可视化中,我们想针对可视化的时间范围来进行 drilldown,也就是说我们想针对 imdb 在可视化显示的时间段里进行搜索。我们可以通过如下的方法来进行操作。

我们把如下的 URL template 放入进去:

https://www.imdb.com/search/title/?release_date={{date event.from "YYYY-MM-DD"}},{{date event.to "YYYY-MM-DD"}}

上面,我们使用 event.from 以及 event.to 拿到时间范围,并同时使用 date helper 来进行格式的转换。点击 Create drilldown 按钮:

保存当前的 Dashboard。当我们点击可视化的空白部分时,我们可以看到一个菜单:

点击 IMDB Movie Search:

从上面我们可以看到在 IMDB 的页面上能找到相应的查询结果。在地址栏中,我们可以看到显示的时间范围。

针对 X 轴或 Y 轴的查询

在很多的情况下,我们可能想要对 X 轴的内容进行 drilldown,那么我们该如何来实现呢?我们针对 Movies totals 可视化来创建一个 drilldown:

在上面的 URL template 中,我们输入如下的内容:

https://imdb.com/find?q={{event.points.[0].value}}

也许这个并不是很好的一个例子,但是这里的重点是 event.points.[0].value 拿到的是 X 轴上的值,而 Y 轴上的值是 event.points.[1].value。点击 Create drilldown,并保存当前的 Dashboard:

我们可以看到在上面的 q=356,这里的 356 来做当期点击点的 X 轴上的值。

Helper 例子

在上面的例子中,我们已经展示了如何使用 date helper 来格式化时间。在接下来的例子中,我将来展示另外几个具体的例子来展示 helper 的用法。我们首先使用创建一个 player 索引:

POST players/_bulk
{ "index" : { "_id" : "1" } }
{ "Player" : "Lebron James", "Team": "Cavaliers", "Season": "2005", "PlayerID": "2544", "AveragePTS": 30.792 }
{ "index" : { "_id" : "2" } }
{ "Player" : "Kobe Bryant", "Team": "Lakers", "Season": "2005", "PlayerID": "977", "AveragePTS": 33.737 }

我们接下来需要为这个索引创建一个索引模式,并创建一个 table 可视化。如果你还不知道如何做这个可视化的化,请参阅之前的文章 “Kibana:为 table 创建链接 drilldown - 7.11 版本”。

我们可以使用 Lens 来创建一个如上所示的 table。我们把这个 table 放进一个 Dashboard 之中去:

现在我们来创建一些 drilldown。

在上面,我们在 URL template 中填入:

http://www.nba.com/{{lowercase event.value}}

在上面,我们使用 lowercase 把点击的值变为小写,以传入 NBA 的网页中进行查询。点击 Create drilldown:

上面显示 Drilldown 已经被创建完成。保存当前的 Dashboard:

接下来,我们来查看每个运动员的情况。我们为这个 table 创建一个 table row click 的 drilldown:

在上面,我们在 URL templagte 中输入:

http://www.nba.com/player/{{ event.values.[3] }}/{{lowercase (replace event.values.[0] " " "-")}}

在上面,我们使用 replace 把名字中的空格用 - 符号来代替,之后,再使用 lowercase 把字母变成小写的。点击上面的 Create drilldown,并保存当前的 Dashboard:

从上面,我们可以看到这个运动员的信息。

Kibana:Drilldown 中的 URL 模板相关推荐

  1. 关于laravel模板中生成URL的几种模式总结

    1.通过url辅助函数(路由)生成: ? 1 location.href = "{{url('user/index2')}}"; 或者: ? 1 location.href = & ...

  2. 一步步学会使用ASP.NET 4 WEB应用程序中使用URL Routing(翻译)

    创建路由 路由就是将URL路径映射到具体的物理文件.若要将路由添加到网站中,请使用 RouteCollection.MapPageRoute 方法将它们添加到RouteTable类的静态Routes属 ...

  3. redis高并发原理_Java中的42行代码中的URL缩短服务— Java(?!)Spring Boot + Redis...

    redis高并发原理 显然,编写URL缩短服务是新的"世界,您好! "在物联网/微服务/时代的世界中. 一切始于在45行Scala中的URL缩短服务-整洁的Scala,以Spray ...

  4. 怎么将excel中的url批量转化为图片_阿里云+Power BI,轻松实现图片可视化报告(一)...

    经常有用户希望在Power BI报表中用"图片"对产品.品牌信息.工作人员--进行展示,例如,当查看某个业务员销售数据时,还想看到业务员的照片. 对应这个需求,Power BI是可 ...

  5. java spr_Java中的42行代码中的URL缩短器服务(Java(?!)Spring Boot + Redis

    java spr 显然,编写URL缩短服务是新的" Hello,world! "在IoT /微服务/时代的世界中. 一切始于在45行Scala中的URL缩短服务 -整洁的Scala ...

  6. Java中的42行代码中的URL缩短服务— Java(?!)Spring Boot + Redis

    显然,编写URL缩短服务是新的" Hello,world! "在IoT /微服务/时代的世界中. 一切始于在45行Scala中的URL缩短服务 -整洁的Scala,以Spray和R ...

  7. esxi中利用ovf模板迁虚拟机

    esxi中利用ovf模板迁虚拟机 在用esxi部署虚拟机后,有时候可能需将上面部署好的虚拟机迁移到其他地方,可以利用导出ovf模板方式进行迁移. 什么是OVF-开放虚拟机格式文件 OVF 是一种虚拟机 ...

  8. RequestMapping的映射URL模板

    映射的URL中有占位符变量,符合这个映射关系的请求都会被这个handler方法处理,下面就是一个模板例子. /template/hello/jack和/template/hello/devin等等这样 ...

  9. MVC中的URL路由(一)

    URL路由系统通过对请求地址进行解析从而得到以目标Controller名称为核心的路由数据.Url路由系统最初是为了实现请求url与物理文件路径分离而建立的,MVC的Url Route是将Url地址与 ...

  10. 艾伟_转载:VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

    本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 ...

最新文章

  1. 基于suse linux系统的cacti系统部署——rpm包方式
  2. 最基本的Socket编程 C#版
  3. Java数据库连接(JDBC)之二:Statement对象和PreparedStatement对象的使用
  4. 三元运算 三个数取最大的
  5. 【sqlite权威指南】笔记3 sqlite入门
  6. LoadRunner 12.02 安装教程及中文语言包安装
  7. 判断是否为自然数java_java判断输入的是否是自然数
  8. 实际操作之路考的这些事
  9. oracle 只对成绩前三名进行排序其余不变_2021年采用美术统考成绩的重点院校名单汇总...
  10. 斗鱼Q3财报:移动端季度平均MAU再创新高至6190万,付费用户720万
  11. 拳王虚拟项目公社:2020考研专业院校选择
  12. 的文件夹结构_小白指南:WordPress文件及目录结构解析
  13. 劝你们,千千千万不要当一个程序员!!!!!!
  14. jQuery打印插件JQPRINT
  15. C++11常用特性的使用经验总结-概述及目录
  16. 基于Vue和Spring Boot的在线视频播放系统 (模仿咪咕视频)
  17. ios12完美深色模式插件_苹果针对老机型推送iOS12.4.6iOS14代码泄漏iPhone12:无刘海真全面屏...
  18. LintCode 交叉字符串
  19. Android WebView实现长截图
  20. 《CSS权威指南》读书笔记3

热门文章

  1. paypal/stripe商家工具-轮询支付系统更新
  2. 移动端怎么让图片不失真_实用工具推荐:几款堪称神器的图片放大缩小网站,无损不失真...
  3. 【bzoj4173】数学
  4. 武大李星星团队开源的GNSS UPD估计模块(GREAT-UPD)window 下调试
  5. w ndows10卸载word,windows10系统下怎样卸载office 2003
  6. Python学习 -元组和集合
  7. 运放输入偏置电流方向_输入偏置电流和输入失调电流(运放参数的详细解释和分析)...
  8. 学3D建模需要什么基础?
  9. matlab生成手机app,matlab使用App designer生成可独立运行的app
  10. 【C语言】井字棋游戏