天眼AIOps—AI提升运维效率
1.系统简介
AI结合大数据的智能运维现已成为运维领域的焦点及未来发展趋势。天眼大数据AIOps平台致力于引入成熟的AI算法、大数据流处理技术及成熟的开源组件,打造智能运维平台。该平台致力于改变依赖专家的人工低效、高成本运维模式,实现IT系统问题先于故障暴露及故障产生后快速自动定位、诊断、修复,进一步提升运维工作的自动化和智能化水平,提质增效,提高运维效率,助力实现系统可用率提升,全年无重大故障,故障、事件数同比下降,故障处理平均时长下降的目标,保障生产系统稳定运行,为中国联通互联网化转型注入动力。
现系统已上线单指标异常检测、机器指标定位、容量预测、日志异常检测、业务明细多维分析、批处理异常检测六相功能。
天眼AIOps系统架构如下图所示:
1、数据接入层:
- 对于实时检测算法,数据通过Kafka进行数据接入,后续由spark streaming任务进行消费。
- 对于触发型的算法,系统不需要对数据进行实时检测,数据接入kafka后,由logstash进行消费入库。
2、服务层:
- web前端和restapi是前后端分离的,通过nginx统一代理。
- atlas主要承担配置存储任务,restapi调用atlas接口,将系统配置存入zookeeper中。
- overseer主要承担告警收敛以及算法任务定时调度的工作。
- kraken主要承担日志模块的算法任务定时调度工作。
- Logwarn-service主要承担日志模块对于日志模版的相关操作。
3、中间件层:
- MongoDB在天眼AIOps平台中存放指标数据的元数据,例如指标名称、创建时间、租户信息等;算法模型、日志模块系统配置、批处理异常检测。MongoDB采用副本集(replica set)模式进行集群部署,primary节点(主节点)负责集群数据维护,所有数据更新操作都通过primary节点,secondary节点(从节点)从primary节点复制数据,提供读请求响应。集群中只有一个primary节点且每个节点数据相同,primary节点不可用时,通过投票选举从secondary节点中列表中选取primary节点。
- InfluxDB在天眼AIOps平台中存放时序数据。Influxdb采用了⼀个基于⾼可⽤、⼀致性哈希的 InfluxDB集群代理服务,实现了InfluxDB⾼可⽤集群的部署⽅案,具有动态扩/缩容、故障恢复、数据同步等能⼒。连接到Influx-Proxy和连接原⽣的InfluxDB Server没有显著区别 (⽀持的查询语句列表),对上层客户端是透明的,上层应⽤可以像使⽤单机的 InfluxDB⼀样使⽤,Influx-Proxy会处理请求的转发,并对各InfluxDB集群节点进⾏管理。Influx-Proxy基于饿了么开源的Influx-Proxy,并进⼀步开发和优化,⽀持了更多的特性,移除了Python、Redis依赖,解决了需要额外配置KEYMAPS 、数据负载不均衡的问题。
- Elasticsearch在天眼AIOps平台中存放原始日志上下文及业务明细等数据量较大且需要高效聚合检索的数据。
- Redis在天眼AIOps平台中承担智能基线缓存,因为模型基线信息较长且需要频繁读取。
- Neo4j在天眼AIOps平台中存储日志算法实例与业务的绑定关系。
- Livy在天眼AIOps平台中负责将算法任务提交至yarn集群上运行。
- zookeeper在天眼AIOps平台中负责存储系统配置。
大数据处理层:天眼AIOps平台的所有算法包由Scala语言编写并运行在yarn集群上。
- 功能介绍
2.1单指标异常检测
1、指标异常检测-算法介绍
利用人工智能算法与spark-streaming流处理技术生成动态基线模型,让机器自动、实时地对接入的指标进行异常检测。通过对数据的在线实时训练和离线模型训练,以时序方式展示实时数据及异常检测结果;最终通过告警规则的自动触发,推送告警信息到指定位置。
(2)曲线连接处完美过度
- 不受异常点影响
- 支持扩容、缩容、告警提醒天数等设置
(6)预测结果达到或超过阈值时会自动通知管理员进行扩容
2.3指标趋势预测
1、批处理任务时间异常检测-算法介绍
批处理时间异常检测算法,通过自动对批处理任务的运行时间做异常检测,预测出批处理任务运行时间的合理范围以及关键路径,进一步帮助运维人员确保批处理任务的正常进行,确保各业务准时高效的运行。
(1)批处理任务时间异常检测场景的整体设计主要分为三个部分:单任务批处理时间预估、关键路径识别和预测、以及整体批处理时间预估。
- 单任务批处理时间预估:依据历史任务跑批时间长短、交易量等进行预测;
- 关键路径识别及预测:关键路径为批处理任务中耗时最长的任务运行路径,通过单任务的预估时间确定本次批处理任务的关键路径;
- 整体批处理时间预估:除上述预估时间家和外,还需考虑整体任务涉及机器的性能、任务优先级不同、单任务超时等风险。
(2)任务跑批时常预估:主要分为四种数据类型
- 趋势性数据:采用回归分析和差分的分布拟合对数据长时间处于单趋势状态(单边上升/下降)的场景进行模型预测;
- 压缩型数据:采用分析数据分布拐点的方式对跑批时常长时间处于某个很小范围的场景进行模型预测;
- 随机数据:以原始数据范围作为基准对随机数据进行模型预测;
- 周期性数据:采用VAE算法对周期性数据(存在特殊日期)进行模型预测.
(3)特殊日判断
- DTW(动态时间规整)算法是一种计算2个时间序列尤其是不同长度序列相似度的一种动态规划算法,用以判断历史数据中特殊日是否相似于相同时间属性的特殊日而非其他日期。
2.4机器指标定位
1、机器指标定位-算法介绍
由已知的业务异常警告触发,从海量监控实体(机器、中间件、实例等)及其性能指标中,排查出异常的实体并自动分类排序,将最严重异常的实体排序在最前面,算法流程运行在大数据平台Spark、Hadoop、InfluxDB等工具上,最终以多样化的Web形式展示给运维人员,方便运维人员排查并快速定位问题。
在故障发生时(业务指标发生异常),会触发定位系统开始分析。其主要分为三部分:指标异常程度评判,异常实体分组定位结果排序,通过运行智能排序算法
2、机器指标定位-核心流程和算法
(1)指标异常程度评判
系统收集当前一段时间所有机器和模块的指标数据,首先采用核密度估计算法初步计算出异常程度分数,再进行也正识别,针对不同类型的数据,主要使用核密度估计的算法、自相关系数算法、傅立叶变化算法、极值理论等进一步检测所有指标的异常程度。
(2)异常实体分组
得到所有指标的异常程度后,使用异常程度重新构建每个主机的异常特征向量,采用DBSCAN聚类算法,将表现相似的主机归为一类。
(3)智能排序
通过对异常数据进行打标,将聚类后的每个组构建新的输入向量,训练GCN智能排序算法,分层排序,将最最严重的实体排在前面,并最终展现给运维人员。
3、机器指标定位-功能特性及结果展示
(1)功能特性
自适应数据,通过特征识别数据类型,针对不同数据采用不同异常检测算法。
多指标检测,业务故障同时 评估服务所有相关指标的异常程度。
多指标定位,通过智能排序算法,分别计算出模块、指标类型、机器、实例、指标的异常程度,分层排序
(2)结果展示
2.5日志异常检测
日志异常检测通过历史日志数据训练出日志模板,对日志模版进行实时且快速的异常检测,发现日志总体数量、模板日志数量和未知日志的异常事件,及时发出告警。
该功能主要流程如下:
- 接入原始日志;
- 对原始入职进行分词、模板提取;
- 对提取后的模板进行统计分析;
- 根据历史数据,对日志数量异常、各个日志模板异常情况进行检测、告警。
检测结果如下图所示,可以看到业务日志总体量级的异常检测趋势图及关注的变量分布。上方的曲线图为业务日志总体量级的历史走势、基带、异常点。下方为各个模板的日志数量、模板详情、趋势、异常点,对于新增的日志模板可看到最新的原始日志。
该功能模块能够通过一种日志异常检测机制,能够准确、高效地解析日志,且自动、准确地检测多语法语义的单条异常日志和异常日志序列,主动发现设备或应用的异常以及时采取应对措施。针对基于监控指标时序数据的异常检测无法获知异常根因的问题,本系统基于日志自动、准确地对数据中心设备或应用进行异常检测,以便于后续的异常定位和根因分析。
2.6多维异常定位
由已知的异常告警触发。从故障业务系统异常时间段的大量交易明细中,分多种属性维度统计后进行异常检测,并且根据候选根因集的指标变换率和包含关系等进行排序,最终确定异常根因集。主要用到的算法有lightGBM、极值理论以及自研算法等。
该功能主要流程为:接入指标数据(如成功率、响应数等),维度数据或明细数据(如原系统、交易类型等)。接入一定时间数据后,通过业务监控功能界面进行结果展示,查看根因定位结果。
天眼AIOps—AI提升运维效率相关推荐
- 运维工程师:如何利用AR技术减少舟车劳顿提升运维效率?
一名资深的运维工程师的特征是怎样的?身着衬衫或Polo衫,背负能放进一台笔记本电脑的双肩包,大概率戴着眼镜且一脸疲惫,但敲打代码排除故障时格外认真.此外他们一定拥有丰富的差旅经验,并且大概率拥有各家航 ...
- 联想服务器销售公司,安徽联想服务器硬盘_提升运维效率
强劲推荐:加速的步进集成镜像,asp技术,玩家学习使用(参***:电脑.鼠标.车标等).这次的四川联想服务器硬盘体系是属于hd7+以上的型号,也是规模比较大的这些全世界规模***大的三星体系,专业支持 ...
- 想提高运维效率,那就把MySQL数据库部署到Kubernetes 集群中
摘要:Kubernetes 很多看起来比较"繁琐"的设计的主要目的,都是希望为开发者提供更多的"可扩展性",给使用者带来更多的"稳定性"和& ...
- 如何提高运维团队的运维效率?
如何运行一个庞杂的机房,进行无数的主动和被动的操作,同时避免错误导致的数据中心故障? 1.以终为始 以终为始是一种以结果为导向的思维方式,提示人们在做事情前要先明确做事情的最终目的,也就是" ...
- 多功能自动化智能运维平台,提升集群的全自动运维效率
一.开源项目简介 致力于打造一个集主机管理.配置部署.监控报警.异常诊断.安全审计等一系列功能的自动化运维平台. 探索创新的sysAK.ossre诊断工具及高效的LCC(Libbpf Compiler ...
- 《2023金融科技趋势研究报告》显示dbPaaS管理平台将成为提升数据库应用、运维效率的关键...
2023年1月,恒生电子研究院发布了<2023金融科技趋势研究报告>,其中明确指出dbPaaS管理平台将成为提升数据库应用.运维效率的关键.dbPaaS趋势的背景是,随着信创进程的推进以及 ...
- 清华教授解密AIOps:智能运维如何落地?
随着 AI 技术在各个应用领域的落地及实践,IT 运维也将迎来一个智能化运维的新时代.算法的效率提升了 AIOps 的价值,通过持续学习,智能运维将把运维人员从纷繁复杂的告警和噪音中解放出来. 那么, ...
- AIOps(智能运维)中的指标算法场景分享 | 内附视频ppt资料
本文转录自:北大博士后严川在云智慧AIOps社区举办的Meetup上进行的<AIOps指标相关算法体系>分享. 直播回放:戳此查看在线回放 PPT下载:戳此下载资料 智能运维算法场景概览 ...
- AIOps——从数字化运维、智能化运维到智慧化运营
数字经济时代,面对外部环境变化及内部组织变革等诸多挑战,企业急需通过数字化转型拥抱新机遇.开辟新赛道,在此过程中,数字基础设施建设成为影响数字化转型的关键要素,而运维转型也成为实现数据价值的最佳实践之 ...
最新文章
- 2013-12-2 学习笔记
- 连续三天说一个事情 : 信号转换
- 09-JS中table模糊查询
- git 拉取分支代码 合分支
- 西部数据硬盘支持linux,西部数据开发新的Linux文件系统“Zonefs” 支持在分区块设备上运行...
- c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令
- 国际化组件 Unicode (ICU) 函数库
- android 拖动按钮
- 性能测试---性能指标【1】
- byte转换字符串(string)+字符串转换byte
- SSM+家装管理系统 毕业设计-附源码191452
- 华为的服务器虚拟化软件,华为FusionSphere虚拟化软件各版本之间的功能和区别
- python画图怎么确定坐标_像素坐标与绘图坐标
- my1.exec()==QDialog::Accepted
- Oracle配置本地网络服务名
- python实战笔记之(8):下载知乎视频
- 吃白菜一样用micropython玩esp32(四)—— siri远程控制点灯
- Nodejs+express 代码工程打包 PKG
- SSL证书、 der、 cer、 pem区别
- OpenGL初学者入门——学习指南【共 9 篇文章】
热门文章
- PC-Dmis 二次开发 |(二):VB基本语法
- android调用音乐播放器,三种方法
- 什么是POSIX标准?
- 阿里云 云视频会议 web端 部署 步骤(记录)
- 甘肃张掖“九曲黄河灯阵”入选大世界基尼斯纪录
- Error: php72w-common conflicts with php-common-5.4.16-45.el7.x86_64
- 智能反射面中的恒模约束问题基于penalty convex-concave procedure (CCP)求解及matlab代码
- ISACA研究发现:仅有40%的技术专业人员对其组织的人工智能部署的安全性充满信心
- PB级全文检索(分布式)解决方案——HyperSearch
- 联合国公布世界上最难学的十大语言