本篇文章主要介绍如何使用 Kibana 来制作不同的图表,Kibana是ELK套件中的可视化工具,里面内嵌了很多图表,比如:条形图、饼图等等。

Kibana可以展示的图表类型有10+种,其中有三个图表被列为实验性质,包括:Visual Builder, Controls 和Vega。图表如下:

   

在制作可视化效果图之前,需要记住以下几点:

  • Y轴一般用作度量聚合(Metric Aggregations)的维度,例如 count、average、sum、min、max、standard deviation等。

  • X轴一般使用的统计方法为:Date Histogram、Histogram、Range、Date Range、IPv4 Range、Terms 及 Filters 等。

首先让我们看看垂直条形图(Vertical Bar)如何制作:

Vertical Bar

使用前一篇文章 EELK学习笔记2|数据的导入与查询 导入的数据来做实例,在前一篇文章提到建立索引的方法,建立 logstash* 的索引,或是利用查询条件,來当作视觉图像的实例。

按下左方 [Visualize],再按 + 增加图表,选择 [Vertical Bar],此时需要选择索引或则会查询公式,此时,我们选择 logstash* 索引,这时你会看到(Y-Axis),沒有分桶(Buckets)的情況下,图表只有一大块区域。

   

在 Buckets 区块按下 [X-Asis],出现 [Aggregation] 选项,选择 [Terms],Field 选择 machie.os.keyword,表示统计各个操作系统的Count值,如下图:

   

按下 [Add sub-buckets],选择 [Split Series],出现 Aggregation 选择 [Terms],Field 选择 geo.src.keyword,表示要将上图的操作系统统计值,再通过来源地理位置来,按下 ►[Apply Changes],结果如下图:

   

Chart Type: 视觉图像的选择,有三种图表可以选择 (1) Line; (2) Area ; (3) Bar。

Mode: 模式的选项 (1) normal:將各Aggreation的统计值分开显示 (2) stacked:將各Aggreation的统计值叠加在一起显示。

Value Axis:Y轴的刻度比例,显示在左边或者右边

上图为 Mode 为 stacked的图像,下图则是 normal。

   

如果 Chart Type 选择 Bar 图形,会多出一个选项为 Line Mode,表示显示区域的现形模式,有三种可选:(1) straight 直线 (2) smoothed 平滑 (3) stepped 阶梯状,下图就是选择了堆叠模式平滑线模式的结果图:

   

如果 Chart Type 选择 Line 图形 ,会多出三个选项: (1) Show Line 显示连续线条 (2) Show Circles 显示线条与X轴的交叉点 (3) Line Width 设定线条宽度 。以下是线条图形的呈現:

   

另外,来看一个常见的以时间为X轴的条形图的例子:

[Buckets]区块按下 [X-Asis],会出现 [Aggregation] 选项,再选择 [Date Histogram],Field 选择 @timestamp,按下三角形的 [Apply Change],现在计数已经按照时间进行分隔,如果要设定时间间隔,可以在下拉菜单中选择需要的时间间隔, 就会看到下面的图:

   

如果我们想知道,在各个时间的 Count 数字,不同的操作系统各占多少?可以按下 [Buckets] 下方的 [Add sub-buckets],选择 [Split Series],出现 Sub Aggregation 后,选择 [Term] 当作统计的字段,  Fields 选择 [machine.os.keyword],其他不变,按下 ►[Apply Change],就会看到下面的图:

   

可以看出各个操作系统在每个时间段的COunt比较。

除了上述 Terms 用字段 和 Date Histogram日期直方图來作为数据分段之外,还有以下集中分隔的方式,包括:Histogram直方图、Range范围、Date Range日期范围、IPv4范围、Filters 过滤器及重要字段 Significant Terms等几种。

参考