网易游戏AIOPS探索与实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 网易游戏AIOPS探索与实践
网易游戏技术中心 施望
全球敏捷运维峰会 广州站
2. 保证服务质量的前提下,降低成本,提高运维效率
完善的平台系统支撑高效运维
全球敏捷运维峰会 广州站
3. 数据
效率
算法 AIOPS
质量 成本
智能变更 故障发现 成本优化
智能问答 故障诊断 性能优化
智能决策 故障预测 容量规划
容量预估 故障自愈 资源规划
全球敏捷运维峰会 广州站
4. 2016年开始, 网易游戏在Aiops这条道路上持续探索,力求实现从人工运维到智能化运维的转变
全球敏捷运维峰会 广州站
5. 通过 AI 算法,自动、实时、准确地从监控数据中发现异常,为后续的诊断、“自愈”提供基础。
不同的曲线配置不同的阈值,曲线
多, 人工配置成本高
随着业务变化,预定义的阈值需要
随之变化,运维成本高
本身含有噪声,难以区分噪声和异
常数据,需要花费大量人力检测
无需人工设置阈值
灵活贴近业务特性,提供精准告警
结合人工标注数据,自动调参,自
动迭代
全球敏捷运维峰会 广州站
6. 指标类型
业务黄金指标
性能指标
文本数据
特性
典型几个场景
•
•
•
• 周期性强
曲线波动小
指标量级小
准确率、召回率要求高 游戏在线人数
业务slo
•
•
•
•
• 指标之间形态差异大
指标量级大
周期性不确定
对异常定义认知有差异
准确率、召回率要求中等 内存(内存泄漏)
cpu飙升
消息队列堆积
•
•
非结构化数据
量级大
全球敏捷运维峰会 广州站
错误日志监控
日志精简优化
tracing
7. 全球敏捷运维峰会 广州站
8. 全球敏捷运维峰会 广州站
9. 训练成本低
指标量
级大
易解释
场景需
求不同
易迭代
全球敏捷运维峰会 广州站
曲线不
规则
10. 差分
SR
周期抑制
Mean_Shift
STL分解
鲁棒回归
周期抑制
80%+准召率
差分
周期抑制
全球敏捷运维峰会 广州站
STL分解
LR回归
MK检验
周期抑制
11. 图文报警
全球敏捷运维峰会 广州站
12. 系统有潜在异常,但被淹没在海量日志中,单项目报警量最多
可达每日1w+,如何合并告警?
故障出现后,日志报警量级太大,如何定位?
新版本上线,系统行为有变化,却无法感知?
怎么办?
全球敏捷运维峰会 广州站
13. 利用模型根据日志文本的相似性进行归类,自动提取对应的日志模版。
怎么实现?
日志1:Receiving block blk_3587 src: /10.251.42.84:57069 dest: /10.251.42.84:50010
日志2:Receiving block blk_7174 src: /10.251.42.90:57069 dest: /10.251.42.90:50010
模版: Receiving block <*> src: <*> dest: <*>
全球敏捷运维峰会 广州站
14. •
•
Pinjia He, Jieming Zhu, Zibin Zheng, and Michael R. Lyu. Drain: An Online Log Parsing Approach with
Fixed Depth Tree, Proceedings of the 24th International Conference on Web Services (ICWS), 2017.
Du M , Li F . Spell: Online Streaming Parsing of Large Unstructured System Logs[J]. IEEE Transactions
on Knowledge and Data Engineering, 2018, PP:1-1.
一次分类 drain
二次分类 spell
全球敏捷运维峰会 广州站
15. 实现百万日志数到百日志数的归并
全球敏捷运维峰会 广州站
16. 对比不同时间段分类日志数量,利用机器学习模型自动识别
突变或者和历史趋势不一致的日志类型
将不同模版数量使用卡方分布进行聚合
� 2 � =
�
� =1
(� � � − � � � ) 2
� � �
对聚合后的数据进行异常检测
� 2 =
�
� =1
� 2 �
~
� (�,� 2 )
对日志模版异常检测,根据异常程度,
返回TopN的异常模版
全球敏捷运维峰会 广州站
17. 游戏玩法设计遗留代码bug
全球敏捷运维峰会 广州站
18. 排查链
路长
排查指
标多
在监控报警发出后,结合指标、
日志、网络、变更事事件等信息。
通过关联异常进行下钻分析,并
定位到最有可能造成故障的topN
拓扑关
系复杂
报警配
置难
原因。
报警多
且分散
以topo的形式可视化 展示异常的
节点及指标。
标注根因,沉淀故障事件指纹库。
全球敏捷运维峰会 广州站
19. 全球敏捷运维峰会 广州站
20. 资源
机器 网络/渠道
对最近20min内所有metric进行
异常检测,计算异常检测分数: 按区域、运营商等维度采用
Adtributor算法进行下钻分析
时间衰减,越早发生的异常
越有可能是根因 按surprise值,进行排序,得
到topN异常维度
指标异常严重程度排序
机器异常指标数量
全球敏捷运维峰会 广州站
saas/端口
获取巡检报警信息,进行
汇总展示
21. 代码bug
日志智能分类和
异常检测结果,
给出异常模版
人为操作
历史故障
关联变更事件,
相关变更报警 获取基于历史故障相关报
警信息数据
汇总展示 计算当前故障与历史故障
的Tanimoto系数
推荐Tanimoto值最大且超
过阈值的topN故障以及其
根因
全球敏捷运维峰会 广州站
22. 公网故障
全球敏捷运维峰会 广州站
23. 服务部署
故障发生
故障发现
故障止损
添加监控
配置告警 告警收敛
告警分级
指标异常检测
日志异常检测
离群检测
指标预测
故障预测 故障定位
下钻分析
关联分析
日志分析
性能分析
故障定位
全球敏捷运维峰会 广州站
故障处理/
恢复
故障记录
故障自愈
故障分级预案
故障事件落库
24. 智能变更
代码检测
智能工单
效率
故障知识图谱
故障预测
故障自愈
数据管理
质量
容量规划
性能优化
资源优化 特征管理
模型管理
交互体验
成本 平台
全球敏捷运维峰会 广州站
25. THANK YOU!
全球敏捷运维峰会 广州站