近日,QCon全球软件开发大会在广州举办。深信服创新研究院高级技术专家易佳在现场带来《深信服桌面云AIOps智能运维一体化方案演进》的主题演讲。
本次演讲重点分享了深信服在桌面云场景下AIOps的相关实战经验,以下是他的演讲内容摘要。
一、深信服桌面云简介
桌面云,即虚拟桌面架构(Virtual Desktop Infrastucture),俗称虚拟云桌面(VDI)。VDI的核心是云桌面的计算存储网络在服务器端完成,通过专有协议连接云桌面。易佳介绍,深信服桌面云具有移动性强、不受地域限制、集中管控、安全度高等特点。
二、挑战与方案设计
随着桌面云运维遇到第三方软件兼容性、蓝屏、木马等挑战,企业需要快速定位问题所在,如应用卡慢、响应延迟等,以及企业可能遇到私有云资源不足、硬件故障、网络等深层挑战,为此,深信服提出了桌面云智能运维一体化技术方案。
该方案包括数据服务和智能分析服务两大核心部分。其中,数据源主要为Logs、Traces和Metrics,表示桌面云的日志、链路和指标数据。
所有数据经由数据总线流入数据分析引擎,统一存储于InfluxDB、MongoDB等数据库,结合OpenAPI,供上层调度、分析和业务应用。
调度器部分,包括策略下发器、动作与建议编排、平台自身健康监测等;
算法分析部分,包含特征工程、训练与模型调优,常用算法如故障预测、异常检测、关联推理等;
业务系统部分,包括闲置虚拟机识别、虚拟机扩容缩容建议等,如果出现故障,对故障进行溯源和故障分析。
这里数据采集引擎使用的是Sangfor AIOps Agent,借鉴了telegraf、datadog等开源agent的思想,实现了基于Golang的插件化采集引擎,支持采集Windows、Linux等多类不同维度的指标数据,供给AIOps分析。
随着用户诉求和用户体量的的不断变化,AIOps数据模型与AI框架演进了三个版本。
第一个版本主要是一套轻量级监控分析系统,支持时序数据、告警数据、统计分析和容器化部署;支持主机、虚拟机数据采集做简单AI分析,适用于小规模用户。
第二个演进的版本是一个轻量级AIOps引擎,支持OpenAPI和数据统一调度。同时也在这个版本引入缓存机制,实现了存算分离。同时,更多的AI算法也得到了支持。
从第三个版本开始,实现了一套桌面云全栈AIOps引擎。在该版本中,面对数据上报的性能瓶颈问题,抽象了数据接口,实现负载均衡。
其次是设计了投递分级,内存磁盘双对列。对于优先级比较高的实际数据、实际体验影响比较关键的指标,优先保障入库。
同时,也做了多级分表,优化了数据结构。保留横向扩展能力,按集群分库分表。减少非必要的tag入库,如ip和hostname,只在tag中保留一个。
为了平衡实时性与准确度,减少重复数据,可以按采集指标区分不同采集周期,如CPU设定为10s采集一次,memory设定为20s采集一次;静态数据尽量只采集一次,如服务器型号、磁盘大小;加入了时间窗口内数据去重,如进程信息等;根据指标量与繁忙程度,动态调整采集周期。
最后,针对多维异构数据进行了冷热分层处理,冷数据存档供AI离线分析和模型训练,热数据实时监控和展示。
三、算法设计
深信服桌面云AIOps引擎提供业务自适应的AI调度,包括统一数据管理、统一模型管理和统一平台策略。
涉及的算法包括基于bagging策略的分段线性回归算法、基于网格搜索的缩扩容模型、基于资源约束算法和贪心策略的虚拟机新增模型、基于时间序列特征提取和随机森林的闲置资源识别模型等。
基于bagging策略的分段线性回归算法,目的是设计一套评分模型来评测当前虚拟机、主机和集群的健康程度。
基于CPU、内存、磁盘、告警等多维度学习,为每个维度建立弱学习器,最后综合多个弱学习器构建强学习器,计算得出整体的健康评分。
该算法综合评价多维核心资源消耗数据,以识别整体负载水平,结合专家经验设置的告警规则以捕捉偶发异常,运用bagging策略进行加权投票计算出机器的最终健康度评分。
基于网格搜索的缩扩容模型在公有云或混合云场景也比较常见。当虚拟机CPU和内存资源不够或过剩时,需要做精细化调度,在保证体验的同时,控制运营成本。
该模型基于历史的CPU和内存时序数据来计算有效峰值,根据计算得到的资源有效峰值数据判断是否命中缩容/扩容策略,若命中则进一步判断该虚拟机是否处于懒惰机制保护时间段,判断通过后基于网格搜索以及A/B Test方法给出虚拟机最佳推荐配置。
资源约束算法和贪心策略的虚拟机新增模型,是基于总体可容纳并发和当前并发来设计的,根据并发量来计算整个集群剩下多少内存和vCPU,读取集群整体配置情况以及当前虚拟机并发情况。
根据经验换算公式得到mhz单位的CPU容量剩余数据与内存剩余数据,捕捉虚拟机平均vCPU消耗数据后,基于资源约束算法结合贪心策略,输出可新增虚拟机建议和硬件扩容优化指引。
基于时间序列特征提取和随机森林的闲置资源识别模型,结合可扩展假设测试的时间序列特征,扩充虚拟机特征维度,训练随机森林模型,输出虚拟机闲置概率以及处置建议,同时收集用户反馈迭代优化预训练模型以形成闭环。
四、实践与落地效果
该方案支撑大盘、集群、主机、虚拟机、网络、存储、应用软件全栈监控与分析。方案引入50+规则诊断一些核心指标问题,采集超过800维度的数据,适配30+卡慢场景,实现20+机器学习和统计算法,从而做到识别出常见的异常问题。
在桌面云场景下,虚拟机内第三方进程问题比较多,应用深信服桌面云AIOps方案之后可以改善很多。
针对卡慢问题,深信服桌面云卡慢/故障异常检测准确率达到87%。实施卡慢缓解建议后,约有47%的问题能够得到明显缓解。
执行AIOps优化策略后,整体成本平均下降18%左右。同时,AIOps的智能诊断能力,可以覆盖桌面云65%的已知资源卡慢问题。
此外,深信服桌面云AIOps也面临一些挑战。比如私有云场景下,因网络限制,很难获取大规模数据持续不断地进行AI学习,这导致整个AI链路过长。其次,用户的业务场景很多,在医疗、金融等不同场景下,算法模型如何做到较高的覆盖率和精准的识别,这也是当前比较棘手的一个问题。
深信服桌面云未来的演进方向,会体现在增加更多的反馈和模型的自更新机制,实现多业务场景的覆盖。同时,基于业务画像和运维知识图谱,实现精细化故障诊断。
以上就是关于《深信服桌面云AIOps智能运维一体化方案演进》的分享,关注“深信服科技”公众号,持续获取更多技术干货内容。