Kibana
可视化和仪表盘在Kibana中,所有的可视化组件都是建立在Elasticsearch聚合功能的基础上的。Kibana还支持多级聚合来进行各种有用的数据分析
Markdown
小部件度量和桶的概要来自Elasticsearch的聚合功能,这两个概念在Kibana中为数据集设计可视化的时候扮演着至关重要的角色
SQL
的GROUP BY
非常相似。分桶以将文档根据特定的条件进行分组,然后对分组后的文档计算度量Kibana
图表的X轴,也可以给桶添加子桶Kibana
的X轴支持如下的桶类型Data Histogram
)Histogram
)Range
)Date Range
)IPV4
范围(IPV4 Range
)Terms
)Filters
)Sginifiant Terms
)需要一个日期类型的字段 和时间区间配置。文档将按指定的字段和时间区间分组。举个例子,如果指定@timestamp字段作为桶,且时间区间为一周,那么文档将基于每周的数据分组,然后可以对分组后的文档计算度量,如计数、求平均值等
直方图与日期直方图相似,除了要求指定的字段和区间都是数字类型的。直方图将在选定的字段上按照指定的区间对文档进行分桶。这相当于以相等区间进行范围聚合
类似于直方图,但可以根据需求手动配置不同的级别。例如对于字段计数,可以选用分桶的范围为0~1000、1000~5000及5000~15000等
日期范围需要一个日期字段,并且为每个桶指定自定义的日期范围
短语可以用于根据任意字段的值 进行文档分组,这非常类似于SQL中的GROUP BY语句。短语聚合还可以选择指定Top N或Bottom N,或者也可以基于度量指定顺序。例如,可以根据产品类型来进行分组,并获得每个产品类型前五名
例如计算文档的总数、平均值 、最小值 或最大值 。度量通常代表区域图、垂直柱状图和折线图的Y轴。度量的可用类型如下
Count
(计数)Average
(平均值)Sum
(求和)Unique Count
(唯一值计数)Min
(最小值)Max
(最大值)Percentile
(百分比)Percenntile Ranks
(百分比等级)Count
是非常重要的度量聚合函数,它的主要目的是计算在桶聚合里每个桶中字段值 的数量。例如,要计算每一个产品类别的访问者的数量,可以指定产品类别字段为桶聚合,然后进行count度量聚合计算
Average
、Sum
、Min
和Max
类似于Count聚合,Average、Sum、Min和Max相应地为聚合中的数字字段计算平均值、求和、最小值 和最大值
Unique Count
类似于SQL中的COUNT (DISTINCT fieldname)功能,计算出字段的唯一值的数量
JSON
输入作为Kibana
理解数据中所述的衍生字段。下面的JSON
脚本就是一个例子{ "script" : "doc['volume'].value * 100" }
一个可视化页面看起来像下面这样,
工具栏
在顶部,度量
和桶
在左侧,预览窗格
在右侧
对于创建累积时间线或分布数据非常实用 Y轴:度量 X轴:桶。还可以在桶中定义子聚合,用来实现图表分割(Split Charts,分割成基于不同聚合的多个图表)或者区域分割(Split Area,分割成基于不同聚合的区域)的功能
以表格的形式呈现聚合数据,有助于识别Top N类型的聚合。例如,使用下面的数据不及格可视化来获得点击次数最多的前五名客户
适用于高密度的时间序列,而且在比较两个序列的时候非常有用
Markdown
小部件用来在仪表盘中显示信息或者指令,可以显示任意需求的Markdown格式的文本
用于显示字段的单个数字类型的分析。可以用来计算一个字段的总命中数、总和或平均值。例如,下面的度量可以用来显示应用程序在一段时间内的平均响应时间
通常用于显示整体中各个部分或者其百分比关系。饼图中的片代表了数据的分布。饼图中片的值 是由度量聚合决定的,例如Count、Sum,或者Unique Count。桶聚合则定义了图表中的数据类型。例如,下面的饼图可以用来显示应用程序的不同响应码的分布
切片地图用来根据geo坐标定位地理位置。这是基于Geohash桶聚合实现的,Geohash聚合会将多组坐标分组到一个桶中
对基于时间和非时间的字段都表现得很好。垂直柱状图可以是单独的柱状图,也可以是累积柱状图。Y轴是度量,X轴是桶聚合。例如,下面的垂直柱状图可以用来显示HTTP响应码的计数