1、迈向智能运维时代,AIOps服务应用运维民生银行的探索与实践 目录目录应用运维的挑战应用运维的挑战1关于智能运维的关于智能运维的思考思考2民生银行的探索民生银行的探索与与实践实践3 民生银行科技发展趋势民生银行科技发展趋势200 x年Now2012年SOA架构 “新”核心项目单体应用 老核心分布式与微服务化业务与应用架构革新 分 布 式 核 心 系 统新 零 售 信 贷 体 系企 业 综 合 服 务 平 台成本中心实现需求Cost Center紧跟业务战略发展Business Follower业务、架构与技术的跨越式发展信息科技角色的巨大转变金融科技协同业务创新FinTech Enabler小
2、 微3.0远 程 银 行民生应用运维的定位民生应用运维的定位应用 运维组织定位职能定位角色定位上线准变更评业务连系统及 入及实审和实续性管流程优 施施理化分析系统问 题处理 和服务 请求运维工 具体系 建设运维部门“对外”窗口运维内部组织协调主要维度(流 程+项目+系统)应急处理第一责任系统运行上线交付优化反馈开发部门业务部门运维其他 部门民生应用运维的原则民生应用运维的原则:基于基于SRE理念理念服务分级服务依赖驱动运维其 他部门鼓励推动业 务流程优化鼓励发现系 统隐患鼓励建立问 题工单对服务质量以发现问题琐事与工具 负责为荣观好工具不是 规划出来的工具和琐事 的跷跷板效 应问题跟踪详细事件
3、报 告根因分析规避总结应急管理角色定位明 确应急预案规 范优先恢复服 务(双十)以恢复生产 服务为第一 要务十分钟定位 问题,十分 钟解决问题 运维新挑战运维新挑战产品推陈出新流程优化改进注重客户体验要求快速响应业务 创新新架构新技术技术演 进虚拟化云平台服务治理运维支撑 直销银行 新零售信贷 小微3.0 远程银行分布式核心微服务与服务治理容器云平台大数据|人工智能|区块链|生物识别 故障处理困难加大 运维数据亟待挖掘 运维价值难以体现软硬件数量激增应用和架构复杂化频繁的变更操作调用链显著加长运维数据井喷 目录目录应用运维的挑战应用运维的挑战1关于智能运维的关于智能运维的思考思考2民生银行的探
4、索民生银行的探索与与实践实践3 数据驱动运维数据驱动运维 数据中心形成数据思维,靠数据说话、靠数据决策的氛围 智能运维是数据驱动运维理念中,完成自动化知识加工的重要一环描述 原始 分散数据采集联系 加工告警 一眼请经验 规律 可预测人工 智能运维知识信息数据机器M的CPU使用率达到60%A类S系统的数据库模块M机器发生主要告警,CPU 使用率超过50%正在数据清理操作,CPU升高为正常现象,只要 CPU不超过80%都没有问题,数据清理时应关注数 据库归档日志,超过50%需要手工触发归档 智能运维是下一代运维技术的必然选择智能运维是下一代运维技术的必然选择 海量数据 复杂关系 经验依赖 跨条线沟
5、 通传统运维智能运维 数据驱动 算法驱动 智能决策 给出解决 方案架构日 益复杂基础架构:云化应用架构:微服务化双态:传统和互联网化并存系统关 系复杂应用系统:系统间调用网化问题处 理复杂工具:精 专团队配合:信息不对称来自Garnter Report 智能运维场景分类智能运维场景分类摘自企业级AIOps实施建议白皮书 智能运维落地的局限与挑战智能运维落地的局限与挑战AI天生的局限现代统计学关联与因果数据挑战缺少标准,种类繁多,结构 多样经验难以数据化数据完备性技术挑战场景复杂,非单一数据倾斜 非典型算法人才和组织挑战中心化组织运维+AI人才匮乏智能运维是 万能的?不,智能运 维需要准确 定位
6、 民生智能运维的目标与定位民生智能运维的目标与定位智能运 维:单 点时代智能算法运维流程学习人的经验提升人的效率解放人的精力灵魂拷问:智能运维究竟有什么用?从痛点出发:难,慢,重信息完备的 海量的适合的 定制的目录目录应用运维的挑战应用运维的挑战1关于智能运维的关于智能运维的思考思考2民生银行的探索民生银行的探索与与实践实践3 智能运维的架构设计智能运维的架构设计机房监控网络监控主机监控交易监控应用监控存储监控日志采集展示层统一展示渠道多种通知线路智能运维平台运维数据治理体系化运维数据模型定制智能运维算法强劲的计算能力开源可控的技术实现运维对象层 双态架构数据源层 运维数据全量接入应用场景层
7、贴近需求,针对痛点流程管理运维工具智能运维算法库服务接口数据接入数据治理数据存储数据加工运维数据模型实时计算离线计算可视化平台移动OA邮件工单短信自动化运维系统质量保障效率提升成本优化 运维数据基础运维数据基础数据模型运维数据源数据摸底 收集所有数据数据标准配置数据采集自 动化数据模型 格式,类型,字段 主机、中间件、数 28个数据模型据库、网络、存储反馈优化 一次性接入不现实 使用中提升质量 背景 与SRE的核心目标一致 固定阈值误报漏报多,人工维护成本高 数据 可用性指标,成功率、响应率、交易量、响应时间等智能运维场景设计智能运维场景设计1可用性故障发现可用性故障发现(1)故障发现要及时
8、无漏报少误报 挑战 简单算法(如3sigma,LOF,孤立森林等)只能在特定数据下奏效 指标情况各异,难以设计适应所有场景的算法 节假日、尖峰、剧变等场景智能运维场景设计智能运维场景设计1可用性故障发现可用性故障发现(2)成功率智能运维场景设计智能运维场景设计1可用性故障发现可用性故障发现(3)算法:单指标异常检 测 效果:开箱即用无需事先标注,节省人工 故障发现更及时 漏报少,大小故 障不放过智能 基带周期偏移突变检测剧变适配专项 检测自动识别指标陡变自动适配模式剧变自适应推断自动适配跑批时长不固定基于GBRT的回归基带算法 背景每笔交易都有很多维度组成,影响故障的维度很多(机房、服务器、源
9、系统、返回码、交易码)地理维度:机房、分片、服务器交互维度:源系统、交易码、返回码、响应时间业务维度:发起机构、收款行号、产品编码、税务局代码当整体指标出现告警时(如交易量上升),快速定位到具体的交叉维度(如渠道=手机银行&服务名=黄金购买)的异常,辅助故障定位或确定影响范围知其然,也知其所以然 数据包含多种维度的交易明细智能运维场景设计智能运维场景设计2多维故障筛查多维故障筛查(1)时间时间渠道渠道分行分行耗时耗时交易名交易名返回码返回码收款行号收款行号2019-7-1 10:00:00手机银行成都0.23跨行转账000000工商银行2019-7-1 10:00:01柜面北京0.21行名行号
10、查询000000-特征分析问题是否有特征?算法从交易明细数据中,通过关联分析找出每个系统的关键维度(数十个)整体指标出现告警时,触发多维定位依据蒙特卡洛树搜索算法,对各种维度的交叉情况评估,快速剪枝,找出交叉维度优势智能运维场景设计智能运维场景设计2多维故障筛查多维故障筛查(2)告警影响分析,缓解告警焦虑根因分析,智能下钻7*24在线交 易监 控交易明细维度提取多维定位维度库事件定时执行触发总交易量交易量上升 例:渠道=手机银行&交易名=黄金购买异常维度定位结果 手机银行手机银行第三方支付第三方支付计费系统计费系统支付系统支付系统理财系统理财系统核心系统核心系统认证系统认证系统智能运维场景设计
11、智能运维场景设计3故障传播分析故障传播分析(1)背景 调用链路不断延长 烽火台狼烟问题定界到底是哪个模块 出问题了呢?智能运维场景设计智能运维场景设计3故障传播分析故障传播分析(2)数据交易明细数据全局统一流水号 算法相关联的节点,曲线具有相似性以系统为节点,调用关系为边,构建调用关系图按照排序结果,推荐最有可能的Top3系统构建骨架图 根据报警节点间的相 似性找出所有异常节 点确定传播方向 根据报警类型和节点 间调用关系确定直接 故障传播关系及方向定位排序 根据故障传播图拓扑 结构及权值信息计算 节点为根因所在节点 的概率并排序 优势消除盲目的问题排查提高故障定位的效率智能运维场景设计智能运
12、维场景设计4监控指标排查监控指标排查(1)背景 机器数量增多,监控项细分 依靠报警,严重,核心指标 系统特点不同,排障依赖经验 数据 CMDB 监控指标 系统-模块-服务器-类别-实例-指标 网银互联-前置-NAPSAP1-Disk-hdiskpower99-磁盘繁忙率 手机银行-网关-MBGW01-Tomcat_线程池-活动线程数 突出类别监控指标都正常吗?智能运维场景设计智能运维场景设计4监控指标排查监控指标排查(2)优势与人工排查结果一致不忽略长尾指标大幅减少故障定位耗时 智能运维场景设计智能运维场景设计5智能日志分析智能日志分析(1)背景 日志数据内涵丰富 日志挖掘难度大 非结构化,无
13、法直接分析 数据量过大,人力无法完成 数据 已建立日志平台,日志量丰富日志检查看看日志里面有什 么异常 OP S 全 球 运 维 大 会 20 智能运维场景设计智能运维场景设计5智能日志分析智能日志分析(2)日志采集 借助ELK天眼日志平 台的通道日志模版提取 基于FP-tree的模版提 取技术日志故障发现 模版频率的阈值或智 能异常检测 重要变量分布异常检 测日志辅助问题定位 模版频率变化 变量分布变化2019-03-07 02:07:41.7fdb371cd7004 rocksdb:(Original Log Time 2019/03/07-02:07:41./build/ceph-12.
14、2.5/src/rocksdb/db/compaction_job.cc:621defaultcompacted to:base L1 max score 1.25,MB/sec:47.8 rd,47.8 wr,level 2,files in(1,17)out(19)MB in(65.4,1031.9)out(1097.3),read-write-amplify(33.5)write-a原始日志原始日志G 1 datetime=1537113183 string=7fdb371cd700 string=Original Log Time datetime=1537113183string=L
15、1 max score number=1.25 MB/sec number=47.8 rd wr,level number=2 变量变量+分词分词1 2 4rocksdb:3()4defaultcompacte d to:base level 1 max bytes base 268435456 files5max score 6,MB/sec:7rd,wr,level 8,filesin(9)out(10)MBin(11)out(12),read-write-amplify(13)write-amplify(14)OK,records in:15,records dropped:16日志模板日志模板9 上 海 站 原始日志变量+分词日志模板统计信息 智能运维不是万能的,需要合理的定位 替换人工流程中“难、慢、重”的部分 结合“场景+算法+数据”,简化应用运维的工作 数据质量从根本上决定智能运维的效果 从算法Demo到产品存在巨大鸿沟 实践是检验算法的唯一真理 不要尝试改变流程,而要融入流程 智能运维仍处于单点时代,未来将由点及面,快速发展 实践感悟实践感悟 谢谢