完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
摘要: 业务实时监控服务( ARMS)是一款阿里云应用性能管理(APM)类监控产品。借助本产品,您可以基于前端、应用、业务自定义等服务,迅速便捷地为企业构建秒级响应的业务监控能力。业务实时监控服务( ARMS)是一款阿里云应用性能管理(APM)类监控产品。借助本产品,您可以基于前端、应用、业务自定义等服务,迅速便捷地为企业构建秒级响应的业务监控能力。
其中自定义监控作为该产品的时序计算和存储的基础,整合和封装了数据收集,消息通道,实时计算,时序存储,以及在线报表等多种先进互联网技术组件。 本文主要介绍一下 ARMS 自定义监控中聚合逻辑以及时序查询设计。离线计算方式 以一个sql查询为例:其中第一部分可以抽象为:聚合(sum, count)、过滤(where)和分组(group by)。 第二部分则是在第一部分的计算结果上进行排序(order by)和截断(limit)。实时计算方式随着用户数据量的增加,离线的计算会越来越慢,难以满足用户在某些场景下的实时性要求,因此很多解决方案中引入了实时计算。 与离线计算相比,实时计算有两点区别:
select count(col1), sum(col2) as sum from origin_data其中col1、col2、filterCols、groupByCols、time 都是日志切分后的字段,timeInterval是流数据切分所用的时间间隔,如一分钟、五分钟等。后计算 select count(col1'), sum(clo2') from 预计算结果其中col1'、clo2'、filterCols'、groupByCols' 中的字段都是来自预计算之后的结果。 timeInterval' 是用户查看每个数据点的时间间隔,TimeRange (minTime, maxTime)是查询数据的时间区间。ARMS 解决方案针对上面分析,ARMS 通过两个步骤解决了用户的预计算和后计算的问题。 预计算 在ARMS 自定义监控中,在任务配置的第三个步骤(第一个步骤是配置日志路径,第二个步骤是配置切分),用户需要配置数据集(数据的预计算逻辑),如下图 其中指标是数据列的聚合计算、过滤是filter,维度是group by的条件。在ARMS中,维度分位两种,一种是平铺维度,一种是下钻维度。 平铺维度是指将聚合结果按照所有的维度直接存储,比如按照col1、col2、col3字段进行group by,存储结果就是一个包含所有col1、col2、col3字段的全集。 下钻维度是对平铺维度的一种优化,比如对于机器基础监控数据,在问题发生时,用户往往需要从机房维度先发现问题,然后下钻到该机房的应用分组,最终定位到某台机器IP的问题。这个时候,可以针对平铺维度中的机房、分组、IP建立单向索引,即机房中的分组索引,分组中的IP索引,以加快查询速度。这就是下钻维度的作用,类似还有省、市、区的例子。 以三个维度col1, col2, col3进行group by为例,平铺维度和下钻维度的不同如下: 平铺维度在时序数据库中存储的是如下三个维度的聚合结果: col1, col2, col3, 聚合指标聚合指标里面包含sum、count、max等聚合的结果 下钻维度在时序数据库中存储的是逐级展开的三个维度的聚合结果,相当于一个以空间换时间的解决方案。 col1,聚合指标后计算在ARMS中,预计算的数据存储在时序数据库中,后计算则是基于时序存储的查询时计算。 与OpenTSDB类似,ARMS提供了 过滤、聚合、降精度和汇总等多种计算方式。如下图所示:
|
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:51 , Processed in 0.391333 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号