百度智能异常检测实践 王博

Razor

2019/10/19 发布于 技术 分类

文字内容
1. 百度智能异常检测实践 百度 王博
3. 个人介绍 • • • • 王博 2014年加入百度 智能运维平台Noah AIOps – 异常检测 – 故障诊断 – 实例排布 成本 可用性 场景 算法 架构 数据 业务指 标监控 发布智 能检查 指标排 查 多维度 分析 异常检测 运行环境 时序数据 关联挖掘 开发框架 效率 实例排布 磁盘趋 势预测 趋势预测 模型训练 事件数据 ChatOps Quota自 适应调整 多目标优化 通告平台 NLP IM机器人 运维元数据
4. 演讲大纲 • 黄金指标异常检测技术 – 异常检测问题及难点 – 运维黄金指标监控方法 • 百度AIOps产品及效果 – 产品形态 – 产品使用效果 – 百度内外部落地效果
5. 黄金指标异常检测 分布式系统 • 运维黄金指标 – – – – • 请求数(流入状态) 错误数(流出状态) 响应时间(用户响应感受) 系统容量(系统并发负载) 难点 – 百万级指标 – 配置成本高 – 监控精度高 请求数 …… 错误数
6. 黄金指标异常检测思路 • 方案分析 – 异常数据极其罕见(<1%) – 标注成本及错误率高 • 思路 – 统计分析 – 机器学习
7. 演讲大纲 • 黄金指标异常检测技术 – 异常检测问题及难点 – 运维黄金指标监控方法 • 响应时间 • 错误数 • 请求数 • 百度AIOps产品及效果 – 产品形态 – 产品使用效果 – 百度内外部落地效果
8. 传统监控方法 • 判断响应时间是否过高的算法 – 历史数据 • 𝑥" 𝑡 = 1. . . 𝑛 – 计算样本均值和样本标准差 • 𝑥̅ = *+ ,*- ,⋯,*/ ,𝑠 0 = ∑/ 45+ *4 6*̅ 067 – 异常检测 • 𝑥8 > 𝑥̅ + 3𝑠 • 统计学视角 – 假设响应时间服从正态分布 • 𝑥" ~𝒩(𝜇, 𝜎 A ) – 参数估计方法 • 𝜇 = 𝑥,̅ 𝜎 = 𝑠 – 计算概率 • 𝑃 𝑥8 > 𝜇 + 3𝜎 ≈ 0.13% < 𝑝I 0.13% 2.3% 2.3% 0.13%
9. 统计学建模三步法 • 统计学建模三步法 – 概率分布假设 • 假设数据𝑥的取值服从某个概率 分布 – 估计分布模型 • 使用历史数据{𝑥K }估计 – 概率计算 • 概率小于概率阈值𝑃 𝑥 > 𝑡 < 𝑝I 时即异常 • 为什么在概率维度上设定阈值? – 与工程师的认知一致 – 常数,与曲线性质、时间无关 – 可以周期性重建分布模型,自动调节 数据阈值𝑡
10. 概率分布假设:响应时间服从正态分布吗?
11. 估计分布模型:核密度估计 0 1 𝑓 𝑥 = N 𝐾(𝑥; 𝑥K ) 𝑛 KO7 𝐾 𝑥; 𝑥K = 𝒩(𝜇 = 𝑥K , 𝜎 ≈ 1.06𝑠𝑛 7 6S )
12. 概率计算 • 概率计算 ,U 𝑃 𝑥8 > 𝑡 = T 𝑓 𝑥 𝑑𝑥 " • 番外:历史异常数据的剔除算法 – 数据聚类切分 – 切分效果评估(LDA散度)
13. 演讲大纲 • 黄金指标异常检测技术 – 异常检测问题及难点 – 运维黄金指标监控方法 • 响应时间 • 错误数 • 请求数 • 百度AIOps产品及效果 – 产品形态 – 产品使用效果 – 百度内外部落地效果
14. 错误数监控 • 错误数监控 – 请求数 𝑛K , 𝑖 = 1,2, … , 𝑘 – 错误数 𝑥K , 𝑖 = 1,2, … , 𝑘 – 判断当前的𝑥K 是否过大 • 基于错误率的监控 * – 错误率 𝑟K = 04 , 𝑖 = 1,2, … , 𝑘 4 – 请求数较小的时候需要调整阈值
15. 错误数监控 • 统计学建模三步法 – 概率分布假设 • 二项分布是n个独立的是非试验 中成功的次数的离散概率分布 𝑃 𝑋 = 𝑥; 𝑛, 𝑟I = 𝐶0* 𝑟I* 1 − 𝑟I 06* ∑ *4 04 – 估计分布模型:𝑟I = ∑ – 概率计算 • 当n足够大时,近似计算 – 𝜇 = 𝑛𝑟I , 𝜎 = – 𝑧= *6a b = 𝑛𝑟I (1 − 𝑟I ) *60cd 0cd(76cd)
16. 演讲大纲 • 黄金指标异常检测技术 – 异常检测问题及难点 – 运维黄金指标监控方法 • 响应时间 • 错误数 • 请求数 • 百度AIOps产品及效果 – 产品形态 – 产品使用效果 – 百度内外部落地效果
17. 请求数 • 统计学建模三步法 – 概率分布假设 • 泊松分布描述单位时间内随机事件发 生的次数的概率分布 𝑒 6h 𝜆i 𝑃(𝑌 = 𝑘; 𝜆) = 𝑘! – 估计分布模型 • 方案:基线预测算法 – 概率计算
18. 基线预测算法 • 移动平均 局部平滑 – 窗口内权重相同 • 指数平滑 – 近期数据权重更大 • 鲁棒回归 – 假设较小窗口内符合线性趋势变化 • 变分自编码器(VAE) – 假设较大窗口内服从非线性趋势变化 • Holt-winters – 线性趋势+单一周期模式 • 周期数据多模式挖掘 – 多种不同的周期模式 周期特性
19. 线性回归算法 • 线性回归算法原理 – 局部符合线性 • 𝑦" ≈ 𝑘𝑡 + 𝑏 – 预测 • 𝑦m" = 𝑘𝑡 + 𝑏 – 参数计算 • 𝑘, 𝑏 = 𝑎𝑟𝑔𝑚𝑖𝑛 𝐿 i,q – 最小二乘法(Least square) • 𝐿A = ∑"sO7 𝑦s − 𝑦ms A • 线性回归算法问题 – 易受噪声点影响,产生误报
20. 基于鲁棒回归的线性算法 • 鲁棒回归算法原理 – 最小绝对误差(Least absolute deviations) • 𝐿7 = ∑"sO7 𝑦s − 𝑦ms – 加权迭代最小二乘法(Iteratively reweighted least squares) • 𝐿t = ∑"sO7 𝜔s 𝑦s − 𝑦ms A • 𝜔s = 7 vw 6vmw
21. 鲁棒回归的预测效果
22. 周期数据多模式挖掘 • 难点 – 长时间缓慢下跌 – 多种不同的周期 • 工作日、休息日和假期 – 水位漂移 • 想法 – 形状模式提取 – 自适应水位
23. 预测效果 周期数据多模式 挖掘的算法效果 简单同比的算法 效果
24. 预测效果
25. 概率计算 • 概率计算 – 泊松分布描述单位时间内随机事件发 生的次数的概率分布 𝑒 6h 𝜆i 𝑃(𝑌 = 𝑘; 𝜆) = 𝑘! – 当流量值较大时,泊松分布近似等于 正态分布: 𝒩 𝑦" ; 𝜇, 𝜎 A • 𝜇 = 𝜎 A = 𝜆 = 𝑦m" • 𝑦" < 𝐶 ⟺ 𝑦" < 𝑦m" − 𝑚𝜎 • 𝑧= vy 6vmy vmy < −𝑚
26. 演讲大纲 • 黄金指标异常检测技术 – 异常检测问题及难点 – 运维黄金指标监控方法 • 响应时间 • 错误数 • 请求数 • 百度AIOps产品及效果 – 产品形态 – 产品使用效果 – 百度内外部落地效果
27. 百度AIOps产品 离线标注 模型训练平台 离线数据 算法选择 参数训练 离线评估 模型 回溯实验 离线回溯平台 离线训练 异常检测 开发框架 在线运行 预测结果存 储 实时数据 在线运行平台 在线检测 在线标注 在线评估 事件管理 系统 • AIOps 平台产品(独立输出) • 模型训练平台 • 标注平台 • 在线运行平台 • AIOps SDK库产品(嵌入已有的监控平台) • 离线训练工具 • 标注平台 • 异常检测SDK • 指标排查SDK
28. 智能异常检测配置 • • • • • 无需人工配置参数 自动排除历史故障数据干扰 自适应忙闲时等阈值变化 可查看历史回溯效果 防抖动策略
29. 智能辅助业务故障诊断 • • 实时异常检测,报警时效性<2s 自动指标排查
30. 百度内部落地所有业务线 • 业务指标监控 – – – – • 监控指标数量:百万级监控指标 配置成本:SRE 0成本配置 准确率>85%,召回率>99% 报警时效性:2s 黄金指标排查 – – – – 核心业务涉及上百个接口,涉及指标近千个 平均排查时效性:10s TOP5召回率>90% 平均定位时间从30+min下降到10min
31. ToB产品效果(以证券行业客户为例) • 核心功能业务监控 – 监控范围:几十个核心功能 – 覆盖指标:交易量、交易延迟、交易 响应率、交易成功率等 • 机器指标排查 – 覆盖了千余个机器指标 – 排查时效性15s – TOP5召回率>99%