7 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、10005000及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响应码的计数