本文共 2970 字,大约阅读时间需要 9 分钟。
作为和企业互联网架构平台 Apsara Aliware“三驾马车”(EDAS/DRDS/MQ)并驾齐驱的又一重磅产品。本文主要从ARMS的诞生背景开始,介绍了ARMS的雏形,着重说明了全新公测的ARMS业务实时监控服务,最后和大家分享了ARMS的五个应用场景并做了ARMS的特点总结。
以下为精彩内容整理:
ARMS助力企业应用实时监控
ARMS特点可以用三个词来形容:
业务监控架构对比
传统业务监控架构定制复杂,对生产数据库有影响;多为离线计算,无法满足企业的业务监控实时性要求;各个基础组建昂贵,需要定制化硬件或一体机。
当前的互联网实时业务监控架构组件比较零散,无端到端打包方案,搭积木式方案复杂;对业务的日志侵入式改造成本高;实现周期长且门槛高,业务方需自行编写各个流计算,MR以及报表等实现。
阿里业务实时监控服务的架构(ARMS)从日志采集,日志传输到日志分析的高度一体化云上解决方案,无需客户运维;完备的日志接入方案,日志接入成本低;可视化的流计算定制接口,提升业务监控定制效率,降低入门门槛;内置报表大屏定制组件以及数据持久层组件,方便各类对接各类场景。
调用统计之实时计算解决之道
ARMS最初是为了应对阿里内部分布式架构的数据和性能统计而生的。这个统计产品就是后来大名鼎鼎的Eagleeye (鹰眼)系统。ARMS当时一开始是作为中间的日志处理层为Eagleeye服务的。
该架构采用基于流计算的架构,以满足实时性。
以统计单个应用的各种服务调用为例:
1. 各个服务特定时间的所有调用次数。
2. 所有服务特定时间的所有调用次数。
3. 特定时间内被调用最多的服务。
方法:1. 服务器端日志抓取。2. Jstorm程序分析。3. 入库列式存储, 形成OLAP-Cube。
数据按需生成,计算实时进行。我们对于每一个数据,在实时计算里都会有对应的计算模块,当数据进来后,会落到各个相应的逻辑模块。我们这样做有两个优点:一是对业务无侵入式改造,一是无限横向扩展架构。
ARMS雏形: 计算编排的抽象化
服务调用统计之后,各类监控需求接踵而至,流式计算定制应接不暇。除了要统计服务数,还要统计内存、CPU甚至容器里的指针,还有各种各样的二方应用,每个人都要写流式计算程序,这样业务方的接入效率就比较低,所以我们抽象出如图的改进措施。
每个人接ARMS系统时,在积木块里通过浏览器方式填各种各样的参数逻辑,这样就把流式计算接入从几天降到几分钟。
实时监控结果一致性的挑战
随着计算集群扩展,计算节点失效成为常态。
解决办法:
1. 日志队列记录批次。
2. 计算集群监控批次计算状态。
3. ARMS在恢复结点重发计算批次。
存储层数据补全的必要性
业务端数据源不可控和高的业务要求( 交易,风控) 带来的数据一致性的新挑战。我们有什么解决办法呢?我们通过存储层后台的数据Merge机制保证最终数据准确性。从流式计算进来打标到后端存储时,我们能识别这种情况,我们不会丢数据,而是把数据放到客户里面,最后通过后台特殊机制merge掉,这样可以从源端避免异常事件的发生。
实时监控的存储层挑战
监控系统的存储层应提供M-OLAP Cube 的能力。
数据源和数据导出的丰富性
支持业务互联网快速迭代产品模式的监控。在业务支持层,我们做了更多的数据源的接入,一开始支持纯日志,后来为了满足多样性,同时也支持了API推送、MQ接收和Binlog解析等等。
业务实施监控的理解
ARMS 让实时监控 化繁为简
经过4年的打磨,ARMS现有20+场景,数百不同的业务大盘,近千台服务器在数十集群上,最大集群规模处理数据15000+MB/s。
在全新的业务实时监控服务ARMS界面中,只需要关心三件事:数据从哪里来;实时计算流程怎么编排;数据该怎么用。
可视化计算编排
不需要编程的实时计算和MOLAP Cube。分布式计算只做两件事情:数据清洗和聚合据算。ARMS中的Map步骤,不需要写一行代码,需把自己的数据导入进来,通过做一些切分逻辑等,自动解析成KV,数据也可是以逗号或冒号隔开的文本方式;Reduce也不需要写一行代码,需做三件事:计算值;维度是什么;数据粒度。
灵活使用 ARMS 结果
ARMS 的最终数据监控结果可以以三种方式供您的IT系统访问。
拖拽而出的实时大盘
不需要任何编程即可拖拽式定制您的大盘。ARMS支持8种控件,它们对维度的要求是不一样的,用户只需要根据不同的表选取不同的维度,根据不同的表格类型,我们可以帮用户生成适合的数据集,同时各个控件通过拖拽式的组合组合成实时在线大盘。
ARMS应用场景
应用性能和状态监控实时大盘。
ARMS的独特之处
:https://www.aliyun.com/product/arms
:https://www.aliyun.com/aliware
转载地址:http://yubbl.baihongyu.com/