212
阿里云
关键组件和流程__产品简介_业务实时监控服务 ARMS-阿里云
本文介绍 ARMS 中使用到的关键组件和流程。
ARMS 中的关键组件介绍
在 ARMS 中,最重要的任务流程和术语由下图所表示:
其中:
- 数据源: ARMS获取数据的地方,目前主要主持ECS上的日志抓取。以后会支持其他如MQ, DRDS,等。
- 监控任务: 一个任务代表ARMS从数据抓取,数据处理,数据存储到结果展示和导出的一个实例。
- 数据集:代表一个监控业务的数据结果,其结果可以被OpenAPI导出。数据集直接被报表控件和报警规则依赖。
- 报表控件:基于数据集的一个用于展示的报表控件。
- 报警规则:定义了如何从既有数据集中产生报警。
ARMS 中的关键流程介绍
在ARMS中,最关键的流程是定义监控任务。通过顶一个监控任务,可以利用数据源产生一些列的监控结果,包括生成数据集,报表空间和报警规则。
下图说明了创建一个任务所需要的大致流程和组件,以及组件在 ARMS 技术架构中的依赖方式。
下文对任务组件作简要说明。
- 采集规则(必选): 定义数据如何从不同的数据源实例进行采集。
- 清洗逻辑(必选): 定义如何解析采集到的数据。
- 数据集配置(必选): 通过配置数据集来定义任务如何基于采集到的数据做聚合计算,持久化存储,以及 Open API 访问输出。
- 报表控件(可选): 基于数据集提供可视化展示功能。
- 报警通知(可选): 基于数据集,通过定义报警含义和通知方式,提供报警能力。
- 大盘(可选): 通过集成报表空间和报警通知数据,对用户提供可视化大盘能力。
监控任务
在 ARMS 中,监控任务主要分为两大类。
预定义任务:如”异常堆栈监控”,”商品销售量统计”,等。通过创建这类任务,用户通过直接使用预定义的清洗逻辑、数据集、报表控件的组件,可快速组装出一个针对特定场景的监控任务。
定制任务:在这里任务中,用户需要根据提示步骤,一步步手动定制任务的各类组件,组装出一个完整监控任务。
用户创建了监控任务后可在相应的任务管理界面进行管理。除了查看、删除以外,还可以针对监控任务进行起停操作。任务只有被启动的时候ARMS才会进行数据采集、计算和存储数据。当任务被停止的时候,以上工作也会被停止。
采集规则
采集规则定义了数据如何从数据源实例中进行采集。用户只能基于已定义的数据源进行采集规则建立。其中,
- ECS 数据源:用户需要采集数据的 ECS 服务器或者服务器分组,以及对应的采集数据的日志路径,等。
- Loghub 数据源:直接选取对应的project / logstore id即可。
- API 数据源:直接选取对应API数据源 id 即可。
- 其他数据源:敬请期待。
数据清洗
每个监控任务对应一个清洗逻辑。清洗逻辑定义如何解析采集到的数据。对于文本类数据,ARMS 支持多种数据清洗方式。例如:
- 通过特定分隔符如”|”,”=”对数据进行清洗,从而清洗出不同的 Key-Value (KV)。一个极简的例子包括:”itemID=abc|amount=100”的数据日志会被清洗成 itemID 为 String “abc”, amount 为 int 100, 一共两组Key-Value。
- 亦支持基于 Jason 格式的数据,通过解析 Hash 数据结构清洗出不同的KV。
- 亦或支持用户自定义的清洗逻辑,如基于不同清洗符的清洗嵌套,等。
数据集配置
数据集是 ARMS 中实时监控数据计算和持久化的重要概念。一个监控任务可对于一个或多个数据集。
数据集的创建
在定义了清洗逻辑以后,通过以下方法定义数据集:
- 直接创建:创建一个数据集,并定义其维度(Open API 查询 Key),统计值(Value)。
- 间接创建:通过创建一个报表控件并定义控件要展示的值和维度,或通过创建一个报警通知并定义要监控的值和维度,来间接创建一个数据集。
数据集与实时计算逻辑和数据导出格式
无论使用直接创建还是间接创建,当创建了一个数据集以后,定义的维度(Key)和统计值(Value)将直接决定数据在 ARMS 中如何进行实时计算,以及其 Open API 的查询参数组合和返回值方式。一个极简单的例子,例如某电商想统计各类商品的各个时刻的实时销售额,用于实时展示和事后统计。其设计的统计的维度和统计值为:
- 其查询维度为时间(TimeStamp)和商品类目ID(String)。
- 统计值为销售额(Sum(Int))。
那么:
- 首先,在实时计算中,ARMS 在后面的 JStorm 引擎中会针对大量的输入数据作基于时间和商品类目 ID 作类似于 Reduce 的计算,在计算中对销售额做Sum操作。
- 计算后的结果,根据聚合粒度实时在存储层中持久化。其对应的查询 Open API 中的必选查询 Key 为时间和销售类目 ID,返回的 Int 值表示制定时刻和商品类目的销售总额。
数据集的聚合粒度和保存周期
用户在进行数据集配置时,可定义其聚合的粒度,例如1分钟聚合一次还是1小时聚合一次,以及响应的数据的保存周期。一个数据集的聚合粒度和保存周期设置将直接影响其在 ARMS 的持久化存储层的存储容量。例如对于大多数场景,您可能想定义以下聚合和保存的方式组合。这样既可以保证最近时刻的数据精确性,又可以满足长期的统计工作需求,而且还最大限度利用了空间。
- 1分钟的数据聚合频率,保存7天。
- 1小时的数据聚合频率,保存30天。
- 1天的数据聚合频率,保存3年。
在您配置了数据集以后,可以通过数据集管理界面对数据集进行管理,包括启动/停止操作。
- 数据集启动操作将保证在对应任务启动时,对应的计算将被执行且结果持久化到存储层。
- 数据集停止操作将使数据集即便其对应的任务在启动时,对应的计算不会被执行。数据集停止期间未被处理的数据流亦无法被回溯执行。
报表控件
用户可以直接创建一个报表控件,或者基于一个现有的数据集创建一个报表控件(敬请期待)。
目前ARMS支持的报表空间种类如下:
报警规则
用户可以直接创建一个报警规则,或者基于一个现有的数据集创建一个报警规则(敬请期待)。
报警规则是对一个现有数据集的处理定义,包括
- 需要判断的指标阈值
- 超过阈值后的处理规则,等。
最后更新:2016-11-23 16:04:16
上一篇:
技术架构__产品简介_业务实时监控服务 ARMS-阿里云
下一篇:
发布版本__产品简介_业务实时监控服务 ARMS-阿里云
访问域名和数据中心__开发人员指南_对象存储 OSS-阿里云
vpc下内网隔离设置__常见问题_专有网络 VPC-阿里云
开启队列的日志功能__日志管理使用帮助_控制台使用帮助_消息服务-阿里云
体检修复手册__用户指南_服务器安全(安骑士)-阿里云
录制工具__脚本编写_使用手册_性能测试-阿里云
数加控制台帮助__平台介绍_数加平台介绍-阿里云
导入PostgreSQL数据__快速入门_云数据库 HybridDB-阿里云
原理介绍__快照_产品简介_云服务器 ECS-阿里云
TxtFileWriter__Writer插件_使用手册_数据集成-阿里云
1.3 使用DMS创建和管理表__快速入门_分析型数据库-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云