网易云音乐智能监控探索与实践 网易云音乐/宋东辉 网易云音乐/宋东辉 资深测试开发工程师 浙江大学硕士毕业之后,加入支付宝,参与蚂蚁端稳定性Sapienz项目建设,数字内容治理项目核心成员,双12大促主要质量负责人之一。 2021年加入网易云音乐,负责云音乐大数据质量和效能建设,发起并牵头多方共建DataOps项目和智能监控项目。 1、背景简介 Contents 目录2、方案介绍3、落地效果 4、未来展望 1、背景简介 1.1、云音乐大数据治理现状 大数据的框架 客户端 用户日志系统日志 DIM层 BI平台圈选平台 MySQL DDB 用户日志 三方日志 服务端数据生产 系统日志 开放平台 系统日志 数据库 MySQL DDB DWS层 分析主题域1 重度汇总事实表1重度汇总事实表2 …… 重度汇总事实表N 分析主题域1 轻度汇总事实表1轻度汇总事实表2 …… 轻度汇总事实表N DWD层 业务主题域N 明细事实表1明细事实表2 …… 明细事实表N 业务主题域1 明细事实表1明细事实表2 …… 明细事实表N ODS 层 有数平台(网易数帆) 数据消费 ADS层 数据集市N 数据集市3 数据集市2 数据集市1 机器学习 平台 AB实验平台 数据服务平台 大数据治理图 需求侧 新增埋点业务 生产侧 现状 动作 基线治理 运行时间预测 治理 规范治理 依赖、模型治理 攻防演练 潜在风险探测 近100/月 平台侧 资源有限 70+p存储 4w+CU 任务&表 2.4w+表 1.8w+任务 日常变更 近100/日 动作 迭代规范 重点项目100%接入dataOps “轻量”变更 巡检兜底,100%覆盖任务&表变更 10+业务线A级以上活动 感知数据异常、避免问题蔓延、保障数据正确性 动作 全方位感知异常,快速定位、止血、解决 大数据生产侧治理的难点 10+业务线属性各异 业务复杂 覆盖难 检测难 误报高 1)突“增”型2)突“降”型 检测难 定位难 离线任务 5k+日常调度 1.8w+任务 各类变更繁杂 变更频繁 指标表现 3)频率变化型4)强“趋势”型 5)强“周期”型6)“无序”型 人工监控 分析难 追踪难 收敛难 分析难 2、方案介绍 2.1、智能监控选型 大数据异动感知 统计算法:绝对值,相对值,周期检测,假设检验分类模型:K-means、SVM等 预测模型:LSTM、ptophet等 指标数据 [xi|i=1,2⋯] Σn i=1 (xi−µ)2 n−1 指标均值和方差 异动分类 Σnxi 单点环比 K-sigma µ=i=1 n,σ= 周期比较K-means 均值比较 K-sigma检测动态阈值 [µ−σ,µ+σ] K-means获取簇中心 n J=Σ i=1 (xi−µi)2 大数据异动感知 统计算法:绝对值,相对值,周期检测,假设检验分类模型:K-means、SVM等 预测模型:LSTM、prophet等 随机森林分类 优点:预测结果准确,训练容易缺点:需要标签数据,容易过拟合 LSTM预测 优点:预测结果准确,不需要标签数据 缺点:需要大量数据、训练困难、场景很难普适 prophet 优点:训练容易,适应性强 缺点:复杂场景精度差,需要大量数据 大数据异动归因 统计算法:贝叶斯算法 贝叶斯表达式: p(A|B)=p(B|A)*p(A)/p(B) B表示目标任务告警,A表示上游任务A告警 根据样本数据表.1,得到p(B),p(A*),p(B/A*)的统计概率。 分类算法:GBDT 表达式: k=1 Y(x)=Σmyk(x)x为特征,Y为分类结果 见样本数据表.1,y为人工打标标签 表.1任务B的告警记录字段级别血缘 上游任务 其他特征 是否告警 是否强依赖 目标任务是否告警 y A1 …… 否 否 否 0 A2 …… 是 否 否 0 A3 …… 是 是 否 0 …… …… …… …… …… …… A1 …… 是 是 是 1 A2 …… 否 否 是 0 A3 …… 是 是 是 0 2.2、智能监控方案落地 大数据智能监控方案 核心方案平台化旁路验证异动归因 否 结束 统计诊断 据 指标数 数据预处 历史数据 异动诊断 是 理 无周期 周期识别 标签数据 有周期 异常分类 断 断 血缘数据 长周期预测 短周期诊长周期诊 异步告警人工跟进 表级归因 短信 字段级归因 样本处理模型优化 popo 可视化大盘 prophet K-means K-sigma 余弦相似度 贝叶斯 历史告警数据标签 字段关系挖掘 字段级血缘 表级血缘 任务&表映射监督模型 大数据智能监控平台化 核心方案 平台化 旁路验证 异动归因 基础数据旁路验证阶段 字段级别血缘 历史数据 人工监控 门平台化阶段禁 打通popo、有数、om等平台 bug类日志 人工跟进 监控策略 智能监控 人工&智能监控 人工规则 统计模型验证 监督模型验证 人工监控告警 样本数据 预测模型验证 模型调试 准确度召回率 变更类日志 类型标签 误报类日志 人工跟进 大数据智能监控旁路验证 核心方案 平台化 旁路验证 异动归因 定义告警模版 启动 全员宣贯 日/周高频通晒 告警 人工 全员参与 沉淀可用的告警标签数据 biz_type alert_time action_time close_time alert_name alert_id table_name product cluster alert_principal alert_principal_email alert_type jira_id bug_type bug_desc 274 2023-02-19T05:15:49Z 2023-02-24T14:51:59Z 2023-02-24T14:51:59Z dqc_music_dws-dws_agr_copyright_song_play_tag_di 4138596 dws_agr_copyright_song_play_tag_di da_music hz11 宋** NULL 4 OMMUSIC-344699 数据异常 歌曲***付费类型映射异常已通知曲库修改 274 2023-03-04T04:47:12Z 2023-03-06T09:59:21Z 2023-03-06T09:59:21Z dqc_music_dws-dws_agr_copyright_mv_play_tag_di 4288973 dws_agr_copyright_mv_play_tag_di da_music hz11 李** NULL 4 OMMUSIC-367004 数据异常 已经解决,广告表延迟产出 274 2023-03-04T16:43:14Z 2023-03-05T21:54:48Z 2023-03-05T21:54:48Z dqc_music_ad-ads_ad_money_sync2musician_di 4294264 ads_ad_money_sync2musician_di da_music hz11 李** NULL 4 OMMUSIC-367004 数据异常 广告表未按时产出 长时间数据 较长时间数据 监督模型 上游是否告警 其他特征 是否核心指标 目标任务指标 y 是 …… 是 0.030335246946286976 0 否 …… 是 -0.012270992212428111 0 否 …… 是 -0.01419882270362638 0 …… …… …… …… 是 …… 是 0.4533249013909857 1 否 …… 是 0.01956796235249691 0 否 …… 是 0.6160516878714195 0 优点:预测结果准确,缺点:依赖标签数据, 不适合冷启,容易过拟合 预测模型 优点:训练容易,对噪点不敏感, 预测结果准确,不依赖标签数据 缺点:适合长周期,不适合冷启 短时间数据 问题:无规律、无周期的数据预测不准确 大数据智能监控旁路验证 核心方案 平台化 旁路验证 异动归因 标签数据注入 剔除异常数据归一 标签数据注入 剔除异常数据均值补充 标签数据注入 异常样本增强正常数据欠采样归一处理 聚类/k-sigma模型 异常点不参与训练只作为效果验证 优点:简单,不依赖标签数据缺点:噪点敏感,不适合冷启 大数据智能监控异动归因 核心方案 平台化 旁路验证 异动归因 埋点/日志 spm.a.b.c.d 数据仓库 ETL实时/离线 字段a4 3 字段a 字段a2 1 字段a 表A1 1 字段a 表A2 字段a4 字段a3 字段a1 表A3 DS kafka 字段b4 3 字段b 字段b2 1 字段b 表B 假设:1)指标告警只有本身、上游+1指标引起2)同层指标间无相互依赖 3)埋点等上游正确(这同样是一个大的命题:略)贝叶斯公式: p(A|B)=p(B|A)*p(A)/p(B) 示例:表B某指标监控规则告警,上游表A1、A2和A3需要统计的指标: 1)表B最近一周告警的概率示例:p(B)=2/7 2)表Ai最近一个月告警的概率示例:p(Bi)=13/30数据清洗:Ai没有监控,首先取max(p(Ai)),其次取p(A) 3)预估p(B|Ai) 维度 核心指标 无监控 本次告警 本次未告警 p(Ai)权重 0.2 0.05 0.2 0.1 辅助分析--字段级别归因示例: 2023-11-0109:08,表B.字段b1告警, 上游表A1.字段a1异常关联度0.3(告警),上游表A2.字段a1异常关联度0.1(未告警),上游表A3.字段a3异常关联度0.05(告警) 3、落地效果 大数据智能监控落地效果 业务 用户中台 会员 平台 …… 安全中台 核心表数量 400+ 50+ 110+ …… 20+ 业务 10+业务接入千级别核心表覆盖 用户中台 累计拦截14个线上异常 安全中台 累计拦截13个线上异常 智能告警拦截示例 这种告警数据非常有迷惑性 大数据智能监控落地效果 监控覆盖 •核心表覆盖80%,提升24% •监控规则量提升 40% 监控跟进 •核心表告警跟进率87% •累计优化监控 182次,提升80% 问题召回 •拦截数据异常47,提升46% •整体召回率83%, AI召回率88% •AI误报量下降70% 4、未来展望 未来展望 FORDATA 平台侧 生产侧 展望 展望 研发层(提效):自然语言创建自定义函数,text2SQL工程化落地 监控指标设计:极具挑战监控归因分析:跨平台血缘依赖 储存层(降本):根据使用场景+频率,智能决定存储类型 调度层(保稳):根据重要度+算力+数据量+历史时长,智能决定调度批次 复杂的监控指标,依然需要人工设计select*aspv_ctr from( 、根因分析依然是难点 …… )impress_dfleftjoin ( …… )click_dfon…… 智能监控模型:冷启,样本量少 ,过拟合,仍然是难点 未来展望 个性化 特殊知识 字段映射 FORDATA--平台侧 友好的交互敏捷的研发依然是主旋律 ChatBI 简易化 一键操作 对话式交互 辅助编码 大模型 自我修正 自学习 更强建模 编码纠错 自动对话 GAI:很抱歉,我不小心抢了被子,导致你发烧了…我真的很愧疚…目标AI:哎呀呀,你这话听着真不新鲜,我已经听到N遍了。 * * * 目标AI:哈哈,你可真是个慢郎中,赶紧的,我要的不只是冰毛巾,还有你的关心哦。 GAI:好的,我知道了,马上就来!你的关心我都会给你的!目标AI:这还差不多,记得别忘了答应我的温水和冰毛巾哦。GAI:好嘞,我这就去准备。等我一下就好! 目标AI:快点快点,