对于监控大数据的分析场景涉及到从粗到细的场景较多,简单来说就是从统计类指标到详细的某个事件。例如五分钟内异常退出100个用户,然后可能需要获取到100个用户所属的服务器或输出每个用户的异常退出信息。Grafana的数据可视化场景,能够实现连接多数据源,所以也就可以实现通过不同的数据源来进行钻取分析。例如统计类指标数据可能通过mysql进行存储,但是原始的数据存储在ES中等。
Grafana数据钻取
Grafana利用其华丽的外观、丰富的数据源、多样的数据图表、自由的Dashboard组合已经捕获了大量的用户。通过不同的数据源连接与不同的图表展现能够实现自由的数据钻取分析功能。
数据钻取也就是通过某个特征或者条件进行更细层次的数据细分的呈现。用户从一个统计类的指标结果逐级挖掘到更细粒度的数据点上。例如最开始提到的异常退出分析。现在再看一下版本相关的信息。如获取在线的应用版本在线数量。
通过在线版本列表再进行分析某一个版本在线状况的相信信息,甚至输出到登陆该版本的详细用户信息。
通过在线的版本信息,然后再进行分析所有版本相关的详细信息,理论上来说能够把所有相关的信息都可以展示出来。精确到最细粒度的数据信息。能够更好的证明统计类的数据结果。
Grafana数据钻取涉及相关功能
- Grafana不是所有的Panel都能实现钻取。只有Table才可以使用。Grafana使用数据钻取的功能获取更深层次的数据信息的方式比较简单,我们可以从统计指标先开始。统计指标直接使用Table进行画图。输出数据信息后选择需要添加链接的字段。选择Render value as link设置跳转的Dashboard地址。
设置跳转到的版本信息详情Dashboard。
详情的Dashboard添加Variables设置版本号。Variables有多种设置方式,但是由于版本信息是从统计信息获取的,当前选择一个Text box进行传递吧。Variables中的Name即为要传递的参数值。Lable为显示的名称。注意Name的名称为唯一值。
设置的Variables即为传递的值,通过传递的参数值进行替换。例如点击的版本为 Sep_10_2019则参数替换为Sep_10_2019。包含各种数据源。
在版本详情的列表中把所有相关的查询均添加上 $version即实现参数的传递,实现数据的下钻分析。
数据钻取的意义
数据钻取是改变了数据的维度,转换了分析的粒度。正常来说都是从粗的粒度分析到更加细节的粒度。 数据钻取包含向上钻取与向下钻取。 向上钻取实现的是从细节数据到统计数据的转换,或者维度的较少。 向下钻取则正好相反,从统计类的指标数据或向导统计类的数据到细节类的数据分析展现或增加新维。 在分析领域,我们实现对于不同层次的数据报表能够更加清晰的分析到问题结果。应用在企业业务场景中,我们从统计的结果很难分析到具体的问题。而数据钻取实现对于数据详细细节的把控。例如用户的流失,从统计中看到用户流失20%,那么钻取则获取到流失的用户所在地域,所在版本,所在的运营商等等。硬件资源、业务监控、统计告警等均有应用。
同时,钻取实现的不同维度的用户的关注点不同。一般企业存在多个数据部门,不同的职务。那么肯定对于数据的关注点不同,对于数据关注的粒度肯定也不同。例如CTO可能关注一下统计的数据结果。但是作为程序猿的我们可能需要对每一个不同的版本所负责。为了系统中不同角色的需求,也需要用到数据钻取。