智能监控成效的上限该如何突破?(上)

简介: 智能监控成效的上限该如何突破?(上)

微信图片_20220123183903.jpg


与通常的介绍文章不同,本文结合作者从事智能监控的实践经验,从聚合数据、明细数据两种数据形态入手分析它们对模型效果上限的影响,并介绍了基于这两种数据形态的智能监控常用做法的本质。


一、业务背景


过去几年中国移动互联网发生了翻天覆地的变化,但凡是有流量入口的地方,各大公司都在不断角逐,流量入口形式的不断丰富,对应着背后业务形态的日趋复杂。从技术角度来看,过去平台化的方式越来越难端到端的支撑快速发展的业务,进而演化出了中台的概念,快速支撑业务的同时,也带来了系统关系成网状的复杂形态。业务形态、技术支持、运维规模等都在处于快速变化期。在这个业务快速增长期,一个不能稳定运行的系统意味着什么?


通常稳定性都以一个百分比数字去描述,比如:全年系统运行稳定性为99.99%。我们又习惯叫99.99%为稳定性4个9。以4个9来算的话,一年365天大概有不到1个小时系统是不可用的,现今的大公司如BAT,每秒请求数量在几万是家常便饭。不到1小时的系统不可用对公司造成的影响是巨大的,轻则影响公司收益,重则失去用户。


微信图片_20220123183911.jpg



稳定性保障经历了运维(Operation)、开发运维(DevOps)、质量(SRE)、智能运维(AIOps)几个阶段(它们不完全互斥),最初Operation的阶段往往是开发和运维各自为战,在出现稳定问题时相互甩锅,后来DevOps应运而生,通过开发运维一体化来保障稳定性,避免开发、运维隔离带来的业务目标和运维目标的不一致问题,再往后DevOps进一步深化成质量保障体系,而不管是怎样的形式,随着复杂性的提升,单独靠人工去保障稳定性已经不再可行,人们开始思考借助人工智能的“新动力”克服人工缺陷,打造一个7*24小时不停歇的智能监控和定位的中台。


智能运维在工业界技术同行们不断努力和尝试下有一些落地的方案,在对常用做法进行归纳总结同时结合自己在工作中的使用经验,对常见做法进行一些优缺点分析,希望对即将或正在从事智能运维的同行们有一点启发。


作为在工业界的人,我必须讲究方法在实践中的有效性,在做应用的这一波人里,有一句流行话:“数据决定效果的上限,而算法只是尽量逼近这个上限”,所以本文先从数据形态(聚合数据、明细数据,下文将详细解释)来分析方法的上限,然后再结合数据形态讨论方法的优缺点。

由于我的知识有限,有错误遗漏之处请大家海涵。

 

二、从数据形态的角度看智能监控与定位


智能运维是人工智能和运维结合的产物,而数据是人工智能的“燃料”,特别是实践机器学习的时候,往往用什么样的数据入模决定了应用是否成功的关键,它包括:数据类型(如:系统日志、业务数据、函数调用堆栈、代码发布、配置变更记录、运维关键指标等)、数据形态(聚合数据、明细数据)。聚合数据是指通过聚合计算得到的汇总数据,比如运维关键指标。明细数据是指未通过聚合计算之前的数据。它们是两种不同的数据形态,用它们做智能运维的“燃料”有不同的优缺点。

 

2.1、聚合数据

聚合函数大家一定不陌生,sum、average等都是最常见聚合函数,当然你也可以自定义你的聚合函数,而聚合数据泛指通过聚合函数计算产出的数据。关键指标(KPI,Key Performance Index)是最常见的聚合数据,比如:在运维领域中技术KPI如CPU、内存使用率,业务KPI如支付成功率等。


微信图片_20220123183938.jpg


上图就是一个典型的KPI,横轴是时间、纵轴是某项指标,运维同学往往关注KPI指标的异常变化趋势,再通过人工分析去做问题排查。


聚合函数的设计往往按照运维人员可理解的方式设计,导致一旦报警准确,问题的语义信息也同时明确,给定位排查带来一些帮助,同时聚合后数据量骤减,避免秒级监控对存储、计算的过分依赖,但聚合函数导致数据精度损失,并且会导致数据关联的丢失,会导致监控报警只能依赖局部数据,影响报警准确率的上限。


聚合函数导致数据精度损失“这句话怎么理解呢?举例来说,99+1=100,但一旦做完加法,丢弃计算过程之后,再想要得到100=?+?在实践中是不可能的,假设当加号右边的1变成0,即99+0=99会出现系统故障时,在聚合计算之后,变化从100下降到99,1%的下降很可能导致故障的漏报,但如果计算过程未丢失,我们发现一个计算分支的指标从1下降到了0,100%的下降几乎肯定能被检测到。所以,聚合计算丢弃过程数据,而它蕴含了信息,少了这部分信息就像机器学习模型少了重要的特征一样,异动检测效果上限必定受到影响。


“(聚合函数)会导致数据关联的丢失”又怎么理解呢?下图是我司某业务的调用链路树,每个树节点是一个服务,和业界大部分设计良好的系统一样,每次调用


微信图片_20220123184004.jpg


 

都可以用一个全局唯一的ID串联,自然而然能得到数据之间的联系,当调用链路上某一个节点失败时,有可能不足以断定出现系统故障,但当许多关联系统出现问题时,出现问题的概率就大大上升了。而聚合计算导致全局ID丢失,天然存在的数据关联不复存在,只能假设在同一分钟的聚合计算结果之间存在关系,但实际上由于系统调用也存在时间,导致仅靠时间无法完全还原数据关系。这就像做图像识别的时候,把一幅图的空间联系打乱了一样,大大增加了识别的难度,同样影响异动检测的效果。


相关文章
|
9月前
|
机器学习/深度学习 人工智能 搜索推荐
AIGC有效提升病理诊断效率、缩短药品研发周期
【1月更文挑战第18天】AIGC有效提升病理诊断效率、缩短药品研发周期
241 2
AIGC有效提升病理诊断效率、缩短药品研发周期
|
弹性计算 运维 监控
全新升级|ECS成熟度评估与洞察,助你精准定位运维风险
3 月 22 日,阿里云宣布 CloudOps(云上自动化运维)套件全新升级,并发布了 CloudOps 云上自动化运维白皮书 2.0 版本。随着本次产品升级,阿里云推出了配套的智能化产品方案,即“ECS 成熟度评估与洞察(ECS Insight)”,它基于用户的 ECS 多维度的使用数据,从基础能力、成本管理、自动化、可靠性、弹性和安全性六个维度帮助用户分析定位潜在的运维风险,并推荐对应解决方案与最佳实践,全方位帮助企业用户降本增效,提升业务连续性。
全新升级|ECS成熟度评估与洞察,助你精准定位运维风险
|
SQL 缓存 运维
系统性能指标:洞察系统运行的关键脉搏
系统性能指标:洞察系统运行的关键脉搏
|
弹性计算 运维 监控
有效预警6要素:亿级调用量的阿里云弹性计算SRE实践
关注保持良好的预警处理,持续解决系统隐患,促进系统稳定健康发展。
有效预警6要素:亿级调用量的阿里云弹性计算SRE实践
|
存储 运维 监控
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
运维自动化可以大大提高运维的主动性和准确性,减少技术人员的工作强度,将精力转到运维策略规划、问题分析等有价值的工作中
397 0
华汇数据运维自动化巡检-实时在线监控-实现精准化管理
|
监控 大数据 UED
电商项目之总体运营指标流量指标分析|学习笔记
快速学习电商项目之总体运营指标流量指标分析
|
人工智能 运维 监控
面对疾风吧,如何搭建高协同的精准告警体系?
想要实现AiOps,智能告警少不了。Arms 告警运维中心让面向告警的组织协同更加便捷高效!
面对疾风吧,如何搭建高协同的精准告警体系?
|
机器学习/深度学习 存储 人工智能
智能监控成效的上限该如何突破?(下)
智能监控成效的上限该如何突破?(下)
191 0
智能监控成效的上限该如何突破?(下)
|
机器学习/深度学习 监控
【TICA2020早班车】如何打造7*24小时交付能力-实时质量
阿里QA导读:早班车第三趟,距离TICA2020开幕只剩下【14天】了,大家对大会内容越来越期待,期待也十分实在,我们就是要干货,干货,干货!没问题,小编这就带着傲野老师的《实时质量》来啦! 文末有上期的中奖结果和本期互动方式哦,快快上车吧~~
217 0
【TICA2020早班车】如何打造7*24小时交付能力-实时质量

热门文章

最新文章