业务背景和挑战:智能运维系统实现低成本扩容

智能运维(AIOps),即以人工智能为核心,实现自动化、高效率、低成本的运维管理。通过机器学习算法,对运维和监控数据进行大数据分析、特征提取、规则建模等,最终实现智能化监控、智能化故障分析、智能化报警等运维功能。近些年来,随着企业数据中心规模的急剧扩张,智能运维对于大规模线上应用已经越来越重要,并且在很多实际场景中实现了落地。

某大型金融机构的智能运维系统,用于监测线上服务的系统运行异常情况。比如,当监控到系统交易量非正常抖动时,需要决策是否需要出发运营警告,让运营人员介入调查。由于近几年线上业务量剧增,其目前的智能运维系统不堪重负,面临着扩容升级的强需求。该机构期望在延迟性能指标保持不变的前提下,其吞吐可以实现每年 10 倍的扩容。如果在原有的技术架构方案上扩容,客户需要将其机器资源每年扩容 10 倍,代价及其高昂。

该智能运维系统整体基于一套复杂的机器学习算法搭建,每一个特定的监控对象都会做多套平行的特征计算和模型预测,最后再经过一个专家规则系统,来决定是否最终出发报警给运维人员。由于该智能运维系统的整体资源消耗瓶颈是在其特征计算平台上,因此,该机构期望可以基于 OpenMLDB 来打造一个低成本的扩容方案。

解决方案:基于 OpenMLDB 实现智能运维高效低成本升级

OpenMLDB 团队在和该金融机构客户深入合作的过程中,双方联合定位到了整个智能运维系统的瓶颈所在。客户现有的特征计算和管理平台是基于 Redis 搭建的,Redis 虽然具有优秀的内存数据存取能力,但是其并不是针对特征计算所优化的,特别当牵涉到时序窗口等复杂的特征计算逻辑下,Redis 需要耗费大量的计算和内存资源,才能实现预期的功能。与之不同的是,OpenMLDB 为特征计算优化,实现全栈的特征计算和管理平台。在此分析基础上,双方合作,使用 OpenMLDB 的全栈 FeatureOps 能力替换了原有的 Redis,来实现针对特征计算的优化。

图 1. 基于 OpenMLDB 的智能运维系统架构

如上图一显示了优化以后的智能运维系统的整体系统架构图。系统监控指标通过 Kafka 搜集然后进入智能运维平台;针对每一个监控对象,平台内部首先通过基于 OpenMLDB 的特征计算来实时提取有用特征信息,其次经过模型推理来取得预测结果,最后基于多套平行模型预测的结果来做规则决策,最终确定是否报警给运营人员。

业务价值:大幅降低智能运维系统 TCO

客户的智能运维系统通过替换 Redis 为 OpenMLDB 作为其特征计算平台以后,获得的主要业务收益如下:

- 资源消耗显著下降。客户的智能运维系统的现有业务整体实现了 CPU 资源消耗 3 倍的降低,以及内存使用消耗 2 倍的降低。

- 低成本业务扩容。客户目标实现每年 10 倍的业务扩容,原来基于 Redis 的方案需要每年增加 10 倍的物理资源以满足业务需求;使用 OpenMLDB 以后,仅增加大约 5 倍的物理资源即可以实现目标扩容,节省总成本近一倍。

- 智能运维进一步增强业务有效性。由于 OpenMLDB 提供了针对特征计算优化的计算引擎以及低门槛且功能强大的 SQL 开发,使得客户可以更加灵活的实现特征计算脚本。以前基于 Redis 的特征计算开发会带来诸多不便和限制,使用 OpenMLDB 以后,其在特征计算的功能性上得到了进一步增强和扩展,可以实现更多的有效的特征计算逻辑,提升智能运维整体的有效性。