阿里云首页 金融分布式架构 SOFAStack

监控类型概述

常用监控类别

监控产品的类型以统计指标为依据进行划分,主要包含以下类别:

名称

应用场景

备注

分钟统计/无 Key

统计单业务量每分钟的数据。通过筛选日志固定位置的关键字,统计单个指标分钟级的数据,如统计某个接口在一分钟内被调用的总量等。

支持日志关键字筛选

分钟统计/多 Key

统计 N 个维度的 N 个 Key 业务量每分钟的数据,如统计系统各个接口分别被调用的总量。通过配置日志的 Group By 维度,统计各维度各 Key 数据,等同于 SQL 中 Group By 的功能。

支持日志关键字筛选

大盘

将监控项通过灵活的配置,以报表及走势图形式展现。

只做报表展现,不支持预警配置。所有预警设定在配置监控项时完成。

常用服务指标

统计单业务或 N 个维度的 N 个 Key 业务的总量、成功量、失败量、成功率、平均耗时 5 个统计项。

支持日志关键字筛选

秒级统计/无 Key

统计单业务量每秒的数据,如统计系统某个接口每秒被调用的总量。通过对日志固定位置的关键字筛选,统计单个指标的每秒数据。秒级统计可以更及时的查看数据及排查问题,但所需要的存储空间也更大,秒级统计/无 Key 一天需要存 86400 个数值(24 小时/天 * 60 分/小时 * 60 秒/分 = 86400 秒/天),所以请有选择地使用。

按秒级统计数据,支持日志关键字筛选,不支持预警配置

秒级统计/多 Key

统计 N 个维度的 N 个 Key 业务量每秒的数据,如统计系统各个接口分别被调用的总量。通过配置日志的 Group By 维度,统计各维度各 Key 数据,等同于 SQL 中 Group By 的功能。秒级统计可以更及时的查看数据及排查问题,但所需要的存储空间也更大,秒级统计/多 Key 一天需要存 86400 * N 个数值(24 小时/天 * 60 分钟/小时 * 60 秒/分 = 86400 秒/天,N 代表 Key 的数量),所以请有选择地使用。

按秒级统计数据,支持日志关键字筛选,不支持预警配置

分钟统计 Top

统计维度的多个 Key 的每分钟的数据,并对数值排序,展现前 N 个最高数值的 Key,如统计平均耗时前 10 的错误码。通过计算多维度数值在每分钟内的大小,再将数值进行排序,展现前 N 个 Key 及其数值。

-

单笔数据 Top

对单条日志的数值维度进行排序,查看最高 N 个单笔业务,如统计耗时前 10 的单笔订单。

-

说明

秒级统计/无 Key、多 Key 与分钟统计/无 Key、多 Key 的区别在于:

  • 统计时间单位不一样。

  • 秒级统计/无 Key、多 Key 暂不支持预警功能。分钟统计/无 Key、多 Key 支持预警功能。

应用示例

示例一

假设存在下述日志:

2012-11-1111:11:11粤A123XX,广州北收费站,G25,广州,¥50
2012-11-1111:11:12粤A123XX,广州北收费站,G26,广州,¥50
2012-11-1111:11:13粤A123XX,广州北收费站,G27,广州,¥50
2012-11-1111:11:14粤A123XX,广州北收费站,G27,广州,¥50
2012-11-1111:11:15粤A123XX,广州北收费站,G26,广州,¥50
……
  • 分钟统计/无 Key :要从上面这批日志里了解在 2012-11-11 11:11 这一分钟,广州北收费站共计通过多少车辆,使用分钟统计/无 Key,通过“广州北收费站”关键字筛选,统计日志行数,就可以可统计出广州北收费站的分钟级数据。

  • 分钟统计/多 Key :要从上面这批日志里了解在 2012-11-11 11:11 这一分钟,每个收费站各通行了多少辆车,使用分钟统计/多 Key 对收费站这个维度进行 Group By 统计,就可以统计出每个收费站的分钟级数据。

  • 秒级统计/无 Key :要从上面这批日志里了解在 2012-11-11 11:11:11 这一秒,广州北收费站共计通过多少车辆,使用秒级统计/无 Key,通过“广州北收费站”关键字筛选,统计日志行数,就可以统计出广州北收费站的秒级数据。

  • 秒级统计/多 Key :要从上面这批日志里了解在 2012-11-11 11:11:11 这一秒,每条高速公路各通行了多少辆车,使用秒级统计/多 Key 对 G25 这个维度进行 Group By,就可以统计出每个高速公路各自的秒级数据。

  • 分钟统计 Top :在统计收费站车辆通行数量的场景里,全中国有几十万个收费站,我们并不需要每个收费站、每分钟的历史数据(因为绝大部分时间里大部分的收费站都是空闲的,数据都是 0,全部统计记录会浪费很多成本)。假设某交警部门想要在节假日期间分析出当前流量最大的收费站,以便做出交通警力调配。这种场景可以使用分钟统计 Top 监控功能,在上例里只需要万分之一的成本,就能实现此需求。

示例二

假设存在下述日志:

2012-11-1111:11:11粤 A123XX,广州北收费站,G25,广州,¥50,2340ms,Y
2012-11-1111:11:12粤 A123XX,广州北收费站,G26,广州,¥50,3209ms,Y
2012-11-1111:11:13粤 A123XX,广州北收费站,G27,广州,¥50,4200ms,Y
2012-11-1111:11:14粤 A123XX,广州北收费站,G27,广州,¥50,5700ms,Y
2012-11-1111:11:15粤 A123XX,广州北收费站,G26,广州,¥50,8500ms,Y
……

常用服务指标:要从日志中统计每分钟每个收费站收费多少车辆、成功收费多少车辆、多少车辆收费失败、平均收费时长多少,使用常用服务指标对收费站这个维度进行 Group By,将收费时长维度配成耗时,再配置结果维度,即可统计出每个收费站收费 总量、成功量、失败量、成功率、收费时长 等的分钟数据。

示例三

假设存在下述日志:

2012-11-1111:11:11粤A123XX,广州北收费站,G25,广州,¥50,收费员-张三
2012-11-1111:11:12粤A123XX,广州北收费站,G26,广州,¥50,收费员-李四
2012-11-1111:11:13粤A123XX,广州北收费站,G27,广州,¥50,收费员-王五
2012-11-1111:11:14粤A123XX,广州北收费站,G27,广州,¥50,收费员-李四
2012-11-1111:11:15粤A123XX,广州北收费站,G26,广州,¥50,收费员-张三
……

单笔数据 Top :假设某交警部门正在调查乱收费现象,想知道每分钟里收费最高的前 100 笔记录。在这前 100 笔记录中,收费金额超过 ¥500 就要介入调查。在这种场景下,不要使用 Group By 对收费员维度进行统计,因为这样会产生几十万、几百万的无效数据长期占用资源。使用单笔数据 Top 不仅能用极低的成本找到前 100 笔记录,而且能查询到每一笔记录的详情。