京东科技全链路故障诊断智能运维实践 演讲人:张静 01 目录02 03 04 自我介绍 京东科技智能运维整体能力 运维算法赋能业务可观测性落地经验运维算法赋能降本增效落地经验 01 个人介绍 个人介绍 张静京东科技智能运维算法高级经理 智能运维发明专利50项、IEEE国际会议论文收录9篇。 带领团队致力于京东智能运维算法研发,应用于京东线上横向业务场景,纵向监控、数据库、网络、资源调度等多个场景取得突破。 •2021数据技术嘉年华《解密StarDB国产数据库智能运维的核心算法》 •ArchSummit2022全球架构师峰会智能运维专题演讲 •参与撰写中国信通院《云计算智能化运维(AIOps)能力成熟度模型》白皮书,第1部分通用能力要求、第2部分系统与工具技术要求。 资质证书 第1篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9680175第2篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9762449第3篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9778305第4篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9858500第5篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9832400第6篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/9904207第7篇ieee-智能运维方向论文IEEEXplore检索地址:https://ieeexplore.ieee.org/document/10072770 02 京东科技智能运维整体能力 国产信创 安全可控,提升数字化韧性 全栈全场景国产化产品 运维面临的问题 难度逐步增加 1、集群规模快速增长,微服务、异地多活等高可用框架需求增强 2、系统间关联越来越多 3、监控工具众多,但内部黑盒 4、告警误报过多,造成告警疲劳,潜在业务风险 体系化要求越来越高 1、从异常发现到根因定位、预先巡检和预案的重要性 2、AIOps已深度实践,减少误报,避免漏报成重点 3、需要系统地沉淀运维经验 4、从局部治理走向全面治理 成本要全面节省 1、从业务源头省成本,对业务应用全面合理计费 2、公司存量大量3年以上过保机器,仍然正常可用 3、运维提升效率,能够处理更多更复杂的场景和应用 整体能力介绍 基本目标:降低故障平均修复时间(MTTR),延长系统无故障运行时间(MTBF),提升系统可用性和运维效率。 智能运维技术架构图 监控管理资源管理运行管理成本管理变更管理事件管理管控功能 应用图表 资产报表 变更图表 事件图表 资源图标 预算报表 工单图表 告警图表 使用率图表 分摊报表 巡检图表 容量图表 可视化配置 告警配置 权限配置 流量图标 网络图表 运行图标 应用监控图 业务监控图 可用率图表 自动化操作算法服务 无阈值监控 故障根因定位 智能日志分析 健康体检 工单操作 资源调度 切换/熔断/降级 学件层 心 指标监控中心日志监控中心告警分析中心故障定位中心运维画像健康体检 日志模式识别日志异常检测告警聚类告警模板提取 日志增量学习 日志分类 告警关联分析 告警事件分析 日志关联分析日志模板AI标注相似事件召回智能告警定级 日志语义分析日志序列预测告警降噪事件预测 应用健康评分 变更体检 告警健康度 亚健康分析 应用画像 网络画像 日志画像 资源画像 多维下钻根因定位机器指标定位 全链路根源定位 事件根因分析故障传播关系 故障注入模型因果推断 运维知识图谱 指标聚类分析动态智能基线 多指标异常检测指标趋势预测 指标相似度分析波形分析 突升突降识别 单指标异常检测 数据层脑 链路追踪统一日志客户端前端服务端中间件数据库主机 CPU 磁盘I/O 网络IO 连接数 低效SQL 索引缺失 消息 Web服务 缓存 方法性能 进程监控 业务监控 代码行监控 页面性能 浏览器分析 JS错误 地域运行商 网络请求卡顿监控 白屏监控 日志回捞 日志查询 关键词 归档订阅 实时日志 用户行为轨迹 链路拓扑 链路分析 请求链路 业务层眼 产品视角全景图 门户API 云平台时序数据库MySQL大数据平台Hbase平台图数据库ES 03 运维算法赋能业务可观测性落地经验 运维算法赋能业务可观测性 •异常检测:通过统计学习、时序聚类、时序网络等算法,检测指标数据异常点,比固定阈值更加精确。 •智能基线:兼顾多个指标波动变化,预测动态安全区间,及时准确地发现异常,自适应不同业务场景。 ①指标异常检测 •通过NLP技术对全量运维日志聚类分析,提取日志关键信息,从日志角度发现问题。 ②智能文本分析 •多种定位策略灵活组合 •根因定位与学习算法结合 •定位快、准确高、使用广 基于apm调用链扫描 故障节点关联性 日志模版提取 知识图谱 ③故障定位 集中管理监控指标 AI算法智能化检测分析 海量日志处理 AI算法实时聚类分析 NLP与知识图谱技术赋能 根因定位,智能化集中告警 3.1指标异常检测 ①通过统计学习、时序聚类、时序网络等算法,检测指标数据异常点,比固定阈值更加精确; ②自回归学习历史数据的波动规律,衡量异常与原有趋势下指标的偏离程度,设置动态安全区间,自适应不同业务场景。 3.2智能文本分析 分布式日志检索多类型日志接入 为研发人员提供日志全文检索功能,再海量日志中可以从应用 角度出发根据时间、线程等多种维度快速检索所需日志,同时还可根据日志上下文精准排障,轻松应对线上问题。 提供基础组件、容器、DNS、中间件、数据库、业务应用等 多种日志接入以及不同日志类型的个性化配置。 日志分析告警 支持通过监控规则检测统计并提供报警,同时支持多种渠道告 警方式。与SGM、中间件监控、基础监控同时使用还可达到监控一体化的根源定位能力。 应用实时日志 在浏览器即可模拟针对本地日志查看功能,实时刷新日志内容并对日志内容提供过滤、反过滤等功能。极度还原用户在本地对于日志的操作习惯,给线上日志跟踪提供很大帮助。 归档及订阅 针对各个业务线/应用的海量日志根据级别做归档时间等的策略划分,并依托于消息队列可对自己的日志做订阅。 3.2智能文本分析 目的 痛点 方案 运维日志模版提取,及时捕捉线上未知的业务异常问题 应用日志反应应用本身运行状态,某些故障是能够从监控指标上发现的,然后由于部分监控指标的缺失,有些故障的产生并不能从指标层面发现,需要从日志中发现问题并定位根因。 通过智能提取日志模版技术对历史全量日志聚类,在线实时匹配发现已知类问题的日志量变化,并可及时捕捉到 新的日志模式,从日志角度提升监控能力。 3.2智能文本分析案例-K8S场景 通过日志分析覆盖K8S核心组件(亿级别日志量/天)GC调用docker有问题、孤儿pod问题、POD存储挂载失败、日志占用文件句柄没释放、POD网络分配异常等多维度故障场景,提升K8S核心组件监控能力。 K8S常见故障 POD网络延迟孤儿pod问题 POD网络丢包POD网络分配异常 GC调用dockerlvm卸载异常有问题 日志占用文件句柄没释POD存储挂载失败放导致pod删除失败 日志模版举例 日志占用文件句柄没释放 --基于数量统计的异常检测 ①*nestedpendingoperationsOperationfor*****failedNoretriespermitteduntil**durationBeforeRetry*ErrorUnmountVolumeTearDown --基于数量统计的突升异常检测 *volumeexportUniqueName****pod**unmount*exitstatusUnmountingarguments**umount****targeti容s器bu创s建y挂载异常 ②*Eventoccurredobject*PodapiVersion*typeWarningreason FailedMountmessageMountVolumeSetUpfailedforvolume*object* notregistered pod-SYNC全量信息 --基于内容的分类 ③*syncPodpodUID*pod*mapappclickhouseoperatorpodtemplatehash*mapclickhouseoperatorEnvHash*clickhouseoperatorImageName*kubernetesioconfigsourceapiPrometheusioport **ConfigMapVolumeSourceLocalObjectReferenceNameetcclickhouse operatorfiles** 结合上下文信息进一步诊断 ④*controlbufgo*transport*loopyWriterrunreturningconnectionerrordesctransportisclosing 3.2智能文本分析案例-Redis场景 3.3健康度巡检 通过自动化的巡检能力检测全链路应用和数据健康度,主动发现潜在问题,便于日常运维和掌握站点的健康信息,大大减轻运维人员排查问题的负担和时间。 ①定期巡检,提前发现亚健康应用,提升缓存命中率及闲置服务器资源利用率 ②大促前针对亚健康核心应用整改 接口是否存在 端口探活 进程扫描 应用主机磁盘空间频繁打满 应用服务器单核CPU打满 r2m10G以上集群利用率过低检测 r2m10G以上集群空闲key占比过高检测 IAAS和SURE主机状态不一致 Java应用未接入SGM p0应用非多机房部署 VIP持续两周均无域名解析 数据备份扫描 日志备份扫描 京东内部历年运维经验积累100+业务健 康度自动化巡检规则。 3.4全链路监控体系 移监 动控 端项 错误定位 日志捞回 监控 优势公网质量监控 实时告警 网络请求 Webview 启动监控 控制器监控 崩溃监控 卡顿监控 错误监控 自定义监控 周报订阅 性能耗时 错误率 错误码 访问量 崩溃率 自定义 启动量 公网质量 告警智能关联 用户轨迹追踪全链路调用链 监页面性能 前控 端项地域运营商 自定义监控 优势sourceMap解析 监控 网络请求 自定义监控 Js错误 URL统计 浏览器分析实时 警 Apdex告 全链路调用链 周报订阅 错误码全 页面耗时 白屏时间 错误率 访问量 Js错误 自定义 链路调用链分析 失败/异常 方法性能 进程监控 分类监控 JVM监控 务控 服监比值监控 调用链路 代码行监控 端项 监控 业务监控 代码行追踪 优势容量水位 底层IO监控自定义监控 自定义多维分析 实时告警 性能耗时 可用率 失败率 失败码 调用量 底层告警 GC告警 调用来源耗时明细分析自定义扩展字段 全链路调用拓扑 3.4全端的链路分析 一旦服务出现性能瓶颈,可综合分析调用链、接口耗时、返回状态码、异常日志,网络日志等,快速诊断问题。 3.4耗时分析 内置组件化的耗时分析,相比于基于方法调用链的耗时明细,更加直观方便,支持自定义组件化。 3.4调用链拓扑 直观展示服务之间的依赖强弱,实时监控每一个应用的服务质量(TPS、耗时,成功率,可用率) 3.4全链路根因定位 基