Kibana Timelion

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

我们可以在哪里使用 Timelion?

Timelion 用于比较时间相关数据。例如,您有一个网站,并且每天都会收到您的浏览量。您想分析数据,其中您想将当前周数据与前一周(即周一至周一、周二至周二等)进行比较,以了解观看次数和流量的差异。

Timelion 入门

要开始使用 Timelion,请单击 Timelion,如下所示:

Started with Timelion

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

Timelion 索引

Timelion 使用表达式语法。

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

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

click textarea

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

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

Timelion 欢迎词

Timelion 欢迎信息如下所示:

welcome message

单击下一步按钮,它将引导您了解其基本功能和用法。现在,当您单击下一步时,您可以看到以下详细信息:

Timelion 基本功能

查询Elasticsearch数据源

Expressing Elasticsearch Datasource

转换数据

Timelion 函数参考

单击"帮助"按钮以获取可用于 Timelion 的函数参考的详细信息:

函数参考

Timelion 配置

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

Timelion Configuration

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

Timelion Category

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

Timelion 必要字段

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

Timelion timefield

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

使用 Timelion 可视化数据

我们将使用索引: medicalvisits-26.01.2019。以下是timelion 2017年1月1日至2017年12月31日显示的数据:

Timelion display

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

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

我们使用了索引 medicalvisits-26.01.2019,该索引的时间字段是 Visiting_Date 并使用了 bar 函数。

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

Timelion 分析

使用的表达式是:

 
  
.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 compare

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

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

顶级城市列表

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

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