Kibana Timelion


Timelion,也称为时间线,是另一种可视化工具,主要用于基于时间的数据分析。要使用时间线,我们需要使用简单的表达式语言,这将帮助我们连接到索引,并对数据执行计算以获得我们需要的结果。

我们在哪里可以使用 Timelion?


当你想要比较与时间相关的数据时,使用 Timelion。例如,你有一个网站,并且每天都会获得你的浏览量。你想要分析你想要将当前周数据与前一周(即周一至周一、周二至周二等)进行比较的数据,以了解视图有何不同以及流量。

开始使用 Timelion


开始使用Timelion,点击Timelion,如下图:

Started with Timelion

Timelion默认显示所有索引的时间线如下图:

Timelion indexes

Timelion 使用表达式语法。

注意 : es(*) => 表示所有索引。

要获取 Timelion 可用功能的详细信息,只需单击文本区域,如下所示:

click textarea

它为你提供了与表达式语法一起使用的函数列表。

一旦你开始使用 Timelion,它会显示一条欢迎消息,如下所示。突出显示的部分,即跳转到函数参考,提供了可用于 timelion 的所有函数的详细信息。

天狮欢迎辞


Timelion欢迎信息如下图:

welcome message

单击下一个按钮,它将引导你了解其基本功能和用法。现在点击下一步,可以看到如下细节:

Timelion Basic Functionality

Querying Elasticsearch Datasource

Expressing Elasticsearch Datasource

Transforming Data

Timelion 函数参考


点击Help按钮,获取Timelion可用的功能参考详情:

Function Reference

时隆配置


timelion 的设置在 Kibana 管理 → 高级设置中完成。

Timelion Configuration

单击高级设置并从类别中选择 Timelion

Timelion Category

选择 Timelion 后,它将显示 timelion 配置所需的所有必要字段。

Timelion necessary fields

在以下字段中,你可以更改默认索引和要在索引上使用的时间字段:

Timelion timefield

默认值为_all,时间字段为@timestamp。我们将保持原样并更改 timelion 本身的索引和时间字段。

使用 Timelion 可视化数据


我们将使用索引: 医疗访问-26.01.2019 .以下是timelion从2017年1月1日到2017年12月31日的数据:

Timelion display

上述可视化使用的表达式如下:

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date).bars()

我们使用了索引 医疗访问-26.01.2019 该索引上的时间字段是 Visiting_Date 并使用了条形函数。

在下文中,我们按天分析了 2017 年 1 月的 2 个城市。

Timelion analyzed

使用的表达式是:

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date, 
q=City:Sabadell).label(Sabadell),.es(index=medicalvisits-26.01.2019,
timefield=Visiting_Date, q=City:Terrassa).label(Terrassa)

2天时间线对比如下:

表达

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date).label("August 2nd 2018"),
.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date,offset=-1d).label("August 1st 2018")

在这里,我们使用了偏移量并给出了 1 天的差异。我们选择当前日期为 2018 年 8 月 2 日。因此它给出了 2018 年 8 月 2 日和 2018 年 8 月 1 日的数据差异。

Timelion comparison

2017 年 1 月排名前 5 的城市数据列表如下所示。我们在这里使用的表达式如下:

.es(index=medicalvisits-26.01.2019,timefield=Visiting_Date,split=City.keyword:5)
list of top cities

我们使用了 split 并将字段名称指定为 city ,并且由于我们需要索引中的前五个城市,因此我们将其指定为 split=City.keyword:5

它给出了每个城市的数量并列出了它们的名称,如图所示。