智能运维任务在eBay的演进
如果无法正常显示,请先停止浏览器的去广告插件。
1. 智能运维任务
在eBay的演进
耿一彤
高级数据科学家
2.
3. About The
Speaker
耿一彤
eBay 基础架构部 高级数据科学家
•
•
•
•
•
8年IT人
2016年加入eBay
2017年开始智能运维落地探索
主导eBay AIOps平台从零到一的建设
多篇智能运维领域学术论文
4. CONTENTS 大纲
1. 问题引入
2. 异常检测
•
单维指标
•
多维指标
3. 异常告警挖掘
•
纵向挖掘
•
横向挖掘
4. 跨国业务中的挑战
•
挑战:DST
•
挑战:Time Zone
5. 问题引入
6. 单维指标异常检测
庞大的社区
背景
海量的监控指标
业务指标:关键的业务指标
开源项目 [1]
服务指标:描述各种服务的状态
历史包袱
PyOD
PyCaret
ADTK
SREWork •
•
•
•
•
•
•
• NAB
ODDS
AIOps 2018
KDD 2021 •
•
•
•
•
AutoTS
TSOD
Prophet
Awesome-TS-
Anomaly-Detection
规则引擎:
• 难以设置合理的规则
• 规则繁杂
数据集 [2]
• 误告警多
出发点
•
•
•
•
• 对异常检测模块进行升级,智能化
的告警方案替换传统规则引擎
• 降低异常发现的时间
• 降低异常修复的时间
竞赛 [3]
• AIOps Challenge
• KDD Cup 2021
SMD
SWAT
SMAP and MSL
PSM
SKAB
7. 算法挑战
挑战一:多样的时序指标
挑战二:多变的检测需求
挑战三:难以采集标签
Figure 3 [4]
Figure 1
Figure 2
8. 单指标异常检测模型
5 Time Series Patterns
阶段一:无监督模型
• 异常检测 -> 特征识别
Point Level
Contextual Level
• 五类特征
- Point Level
- Seasonal Deviation
- Local Spike
- Long Term Extreme
- Context Level
Seasonal Deviation
Trend
- Trend
- Pattern Change
Long Term Extreme
Pattern Change
Local Spike
9. 异常检测 AutoML
阶段二:”监督“模型
一:模型选择 特征工程
时序异常检测任务找出合适的异常检测算 • 业务特征:
法。
- job type
- domain
Training Set:
- user group
• Golden Job
- …
• Synthetic Data
• 数据特征:
- variance
Synthetic Distribution:
• daily seasonal
• weekly seasonal
• gaussian
• beta
• gamma
• chisquare
......
•
•
•
•
•
•
t
f
uniform
pareto
exponential
poisson
- skewness
- sparsity
- auto correlation
- …
Business
Features
Data
Features
10. 异常检测 AutoML
阶段二:“监督”模型
• Prediction Score
Training Set:
• Golden Job - 基于“预测”(预测、滤波、生成等)的检测算法。
• Synthetic Data - 评估方法:
- Robust MAPE with Cross Validation
• Shape Score
二:自动调参
针对时序和对应的检测算法,搜索合适的超
� = � 풑풓 + � 풔풉�풑 + � 풔
upper
P
O
O
L
1
C
O
N
V
2
P
O
O
L
2
_풓�
� 풑풓 : prediction score
� 풔풉�풑 : shape score
_풓�
raw
C
O
N
V
1
优化目标: arg풎 � � (�)
� 풔
衡量原始值和上下界的形状。
lower
参数。
Good shape
: issue rate score
F
C
Bad shape
• Issue Rate Score
用户估算的异常率和实际异常率的差。
11. 模型评估
Ticket level 模型评估 [5]
푇
�푟푒푐푖 푖
=
푇 +퐹
푇
푟푒푐�
=
푇 +퐹
� − 푐 푟푒
�푟푒푐푖 푖
∗ 푟푒푐�
=2∗
�푟푒푐푖 푖
+ 푟푒푐�
�푟푒푐푖 푖
= 0.83
푟푒푐�
= 0.83
� − 푐 푟푒 = 0.83
�푟푒푐푖 푖
= 0.5
푟푒푐�
= 0.5
� − 푐 푟푒 = 0.5
12. 工程挑战
例:计算压力
EVT algorithm [6]
� � −�
� � ≃ � + (( ) − 1)
�
�
Example:LB connection count
• 5w+ VIPs
• Metric resolution 5s
• Detection interval 5s
• 特征变化快,需要高频计算来适应变化
拆分出训练阶段,预估 t
引入 t-digest 压缩数据
푇 (�), �90(�)) + � ℎ ∗ 퐼 �
� = max (퐸�
13. WHY 多维指标?
挑战一:双胞怪胎 [7]
• 异常特征反复出现
• 算法将异常特征误认为正常特征
Challenge 1: business with it’s key pools
挑战二:小偏差
• 业务指标有较小的偏差
• 异常检测模型只能给出较小的异常分
挑战三:数据误差
• 数据噪声(网络抖动等)
Challenge 2: business slow bleeding
14. 多维指标异常检测
背景及需求
1. 双胞怪胎和小偏差问题
2. 单维度时序数据抖动
3. 系统级实体检测
4. 特定场景
经典模型 [8]
1. GDN
2. USAD
3. OmniAnomaly
4. LSTMNDT
5. RANSynCoders [12]
Ymir
1. 覆盖多种场景
- 周期指标
- 稀疏指标
- 相关关系
2. 结果自解释
15. 引入额外信息
需求2.0
1. 理解业务信息?
2. 模型基于反馈的自动迭代?
Figure 1
Figure 2
Figure 3: ACVAE [9] workflow
16. 告警驱动
17. 告警风暴
18. 告警挖掘
背景
• 告警风暴
异常发生时,许多异常检测任务同时告警
• 警告的可行动性
警告挖掘
纵向挖掘
同一指标多维度的告警归因
告警容易理解
警告指导下一步的动作
建异常检测任务和消费告警的不是一批人
Figure 1: 纵向挖掘
解决方案
横向挖掘
基于调用链的告警挖掘
警告挖掘
告警出现时,对海量告警做进一步挖掘,找
出最有价值的告警。
Figure 2: 横向挖掘
19. 纵向挖掘:维度归因
适用场景
多维数据聚合指标
挖掘聚合指标及其各维度指标的告警
最终告警包含聚合指标和维度指标
优点:提供更少且有价值的告警
聚合类型 Sum
Average
衍生指标:点击率,订单转化率
聚合维度 运维维度:
IP
URL
Cluster
DataCenter
…
业务维度:
站点
支付类型
设备
物流服务商
交易类型
…
20. 纵向挖掘:维度归因
维度归因 [10]
• Aditributor
• iDice
• Hotspot
• Squeeze
• MID
• AutoRoot
实践经验
• 准确的预测结果可以事半功倍
• 注重搜索空间的剪枝
21. 纵向挖掘:维度归因
生产实例
• 记录访问某服务返回error的次数
• 按照返回码和数据中心进行分隔
• 最终定位根因为c3 上 5xa error 暴增
22. 横向挖掘:根因定位
数据源
告警:静态阈值告警,智能告警
关系:调用关系
活动:生产变更(代码变更,配置文件变更)
阶段一:服务级根因定位
业内方案思路
• 基于图的根因分析:
通过告警异常分和指标相似度评分在关系图上推理。
• 基于ML/DL的根因分析:
通过ML/DL 模型直接推断根因
解决方案演进
服务级 -> 事件级
阶段二:事件级根因定位
23. 横向挖掘:根因定位
解决方案
服务拓扑结构
1. 构建服务拓扑结构
2. 构建事件和活动连接关系
3. 构建事件因果关系图
4. 根因排序
事件和活动连接关系图
根因定位流程
因果关系图
24. 跨国业务挑战:冬/夏令时转换
问题与目标
MEDIFF – ESD [11]
- 无监督周期性指标异常检测
- 指标的表现受节假日,冬/夏令时转换(Daylight
特殊时期的时序信号
Saving Time) 的影响往往容易影响检测结果的准确性
冬/夏令时转换(上图)和节假日(下
图)对时序的影响
25. 跨国业务挑战:冬/夏令时转换
针对DST的改进
MEDIFF-ESD 完整流程
引入DST处理后的残差对比图
26. 跨国业务挑战:多维异步时序检测
目标
异步时序
多维周期性指标的异常检测 • 以一致的频率振荡的一组时序
检测结果可解释性 • 时序间振荡发生时间不一致
检测对象:多维异步时序 • 场景:
- 相同业务在不同时区上的指标
动机
现有方案:
- 先后业务依赖关系的指标
。。。
异步多维时序信号
• 需要用户后验阈值选择
• 开源数据集以高斯异常为主
• 忽略异步时序对权重学习的影响
思路
• 将异步信号转换成具有线性关系的同步信号
• 重构阈值边界
SMD anomalies samples BKPI anomalies samples
同步多维时序信号
27. 跨国业务挑战:多维异步时序检测
解决方案
RANSynCoders [12]
1. 重构/提取时序主要特征
2. 提取正弦分量
RANSynCoders网络结构图
3. 同步信号
4. 重构阈值边界
5. 异常推理
基于多数投票的异常推理
6. 异常定位
根据异常分或者异常贡献度定位根因维度
28. SUMMARY 总结
智能运维
任务
挑战:DST 挑战:Time Zone
异常检测
单维指标 异常检测
多维指标
告警挖掘 横向挖掘
纵向挖掘
29. 文献资料
[1] 开源项目
• PyOD: https://pypi.org/project/pyod/
• PyCaret: https://pycaret.org/
• ADTK: https://pypi.org/project/adtk/
• SREWork: https://github.com/alibaba/SREWorks
• AutoTS: https://github.com/winedarksea/AutoTS
• TSOD: https://pypi.org/project/tsod/
• Prophet: https://facebook.github.io/prophet/
• Awesome-TS-Anomaly-Detection: https://github.com/rob-med/awesome-TS-anomaly-detection
[2] 数据集
• NAB: https://github.com/numenta/NAB
• AIOps 2018: https://competition.aiops-challenge.com/home/competition/1484452272200032281
• ODDS Library: http://odds.cs.stonybrook.edu/
• KDD 2021: https://compete.hexagon-ml.com/practice/competition/39/
• SMD: https://github.com/NetManAIOps/OmniAnomaly
30. 文献资料
[2] 数据集
• SMAP and MSL:https://github.com/khundman/telemanom
• PSM:https://github.com/eBay/RANSynCoders/tree/main/data
• SKAB:https://github.com/waico/SKAB
• SWAT:Mathur, Aditya P., and Nils Ole Tippenhauer. "SWaT: A water treatment testbed for research and training on ICS security." 2016
international workshop on cyber-physical systems for smart water networks (CySWater). IEEE, 2016.
[3] 竞赛
• AIOps Challenge (from Tsinghua):https://aiops-challenge.com
• KDD Cup 2021:https://compete.hexagon-ml.com/practice/competition/39/
[4] Zhang, Zezhong, Keyu Nie, and Ted Tao Yuan. "Moving Metric Detection and Alerting System at eBay." arXiv preprint
arXiv:2004.02360 (2020).
[5] Tatbul, Nesime, et al. "Precision and recall for time series." Advances in neural information processing systems 31 (2018).
[6] Siffer, Alban, et al. "Anomaly detection in streams with extreme value theory." Proceedings of the 23rd ACM SIGKDD International
Conference on Knowledge Discovery and Data Mining. 2017.
[7] He, Yuanduo, Xu Chu, and Yasha Wang. "Neighbor profile: Bagging nearest neighbors for unsupervised time series mining." 2020 IEEE
36th International Conference on Data Engineering (ICDE). IEEE, 2020.
31. 文献资料
[8] 多维指标异常检测经典模型
• Deng, Ailin, and Bryan Hooi. "Graph neural network-based anomaly detection in multivariate time series." Proceedings of the AAAI
Conference on Artificial Intelligence. Vol. 35. No. 5. 2021.
• Audibert, Julien, et al. "Usad: Unsupervised anomaly detection on multivariate time series." Proceedings of the 26th ACM SIGKDD
International Conference on Knowledge Discovery & Data Mining. 2020.
• Su, Ya, et al. "Robust anomaly detection for multivariate time series through stochastic recurrent neural network." Proceedings of the 25th
ACM SIGKDD international conference on knowledge discovery & data mining. 2019.
• Hundman, Kyle, et al. "Detecting spacecraft anomalies using lstms and nonparametric dynamic thresholding." Proceedings of the 24th ACM
SIGKDD international conference on knowledge discovery & data mining. 2018.
• Abdulaal, Ahmed, Zhuanghua Liu, and Tomer Lancewicki. "Practical approach to asynchronous multivariate time series anomaly detection
and localization." Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021.
[9] Li, Zhihan, et al. "Situation-Aware Multivariate Time Series Anomaly Detection through Active Learning and Contrast VAE-based Models in
Large Distributed Systems." IEEE Journal on Selected Areas in Communications (2022).
[10] 维度归因业内方案
• Bhagwan, Ranjita, et al. "Adtributor: Revenue debugging in advertising systems." 11th USENIX Symposium on Networked Systems Design
and Implementation (NSDI 14). 2014.
32. 文献资料
[10] 维度归因业内方案
• Lin, Qingwei, et al. "iDice: problem identification for emerging issues." Proceedings of the 38th International Conference on Software
Engineering. 2016.
• Sun, Yongqian, et al. "Hotspot: Anomaly localization for additive kpis with multi-dimensional attributes." IEEE Access 6 (2018): 10909-
10923.
• Li, Zeyan, et al. "Generic and robust localization of multi-dimensional root causes." 2019 IEEE 30th International Symposium on Software
Reliability Engineering (ISSRE). IEEE, 2019.
• Gu, Jiazhen, et al. "Efficient incident identification from multi-dimensional issue reports via meta-heuristic search." Proceedings of the 28th
ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 2020.
• Jing, Pengkun, et al. "AutoRoot: A novel fault localization schema of multi-dimensional root causes." 2021 IEEE Wireless Communications
and Networking Conference (WCNC). IEEE, 2021.
[11] Li, Tianwei, Yitong Geng, and Huai Jiang. "Anomaly detection on seasonal metrics via robust time series decomposition." arXiv preprint
arXiv:2008.09245 (2020).
[12] Abdulaal, Ahmed, Zhuanghua Liu, and Tomer Lancewicki. "Practical approach to asynchronous multivariate time series anomaly detection
and localization." Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery & Data Mining. 2021.
33.
34.