您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [网易]:稳保护航,助力数字原生企业新发展 - 发现报告

稳保护航,助力数字原生企业新发展

2023-11-22 网易 王擦
报告封面

云原生时代下的稳定性保障体系建设 主讲人:侯诗军网易数帆解决方案专家 到2024年,由于采用了微服务、容器、动态编排和DevOps等技术,新增的生产级云原生应用在新增应用的占比将从2020年的10%增加到60%。到2025年,超过一半的中国500强企业将成为软件生产商,超过90%的应用程Of all digitaloperations willbe deployed oncloud-nativeplatforms by2025 Source: Gartner 到2024年,由于采用了微服务、容器、动态编排和DevOps等技术,新增的生产级云原生应用在新增应用的占比将从2020年的10%增加到60%以上。 到2025年,将超过一半的中国500强企业将成为软件生产商,超过90%的应用程序为云计算应用程序。 整合式共享、变化可控,计划性强,如工作流、渠道系统。 创新类业务系统、电商场景业务、互联网金融场景业务。 随着转型的不断深入,各种稳定性问题往往接踵而至! 故障诊断及快速恢复 突发流量 高可用 面对业务高峰、高峰期的压力,需要强大的熔断保护和弹性伸缩能力 一旦出现故障,线上故障需精准定位,全链路追踪诊断,自动化恢复及排障 业务7*24小时在线,核心系统业务涉及民生,一旦故障社会影响恶劣 微服务化架构应用之间依赖关系错综复杂,单一节点问题可能会被无限放大,故障难以避免系统复杂 核心系统日常流量保持在高水位,并发请求量大、业务激增随机性强 云原生架构下节点分布范围更广、数量更多,为日志采集、分析带来新挑战 服务性能瓶颈难以分析,故障影响范围难以评估 技术侧 稳定性保障难度升高 各类稳定性事件通常存在复杂度高、难以预测、不可控等现象,更多类似的问题,已经发生或即将到来。据不完全统计,2021年国内外云服务宕机事件达到20起以上,造成了巨大的生产事故与经济损失。 传统监控方式 收集、分析和使用信息来观察一段时间内的运行进度,并且进行相应的决策管理的过程,监控侧重于观察特定指标。 2 0 2 1年1 1月1 6日GoogleCloud服务器由于网络配置问题造成负载均衡中断,引 发 全 球 宕 机 数 小时,影响波及全球用户。 2021年7月13日美国云计算公司Fastly出现长 达1小 时 的 服 务 故障,导致全球数千家政府、网站受到影响。 2022年7月29日,某专车出行APP发布通知称,因网络故障导致通讯受阻,出行平台暂时无法使用叫车服务,相关人员正在紧急抢修。 2020年10月1日,日本东京证券交易所在进行数据库变更操作时,错误调整系统时钟,导致了交易系统故障,当时整个交易活动停止。 更多的未知因素 操作变更:人员误操作、变更失败、管理不善等代码缺陷:代码质量、程序逻辑、应用架构等故障等平台故障:业务依赖的平台硬件故障、网络故障等外部环境变化:外部访问流量突然变大导致的系统过载、公共卫生、自然灾害、社会安全等…… 2 0 2 1年1 2月7日AWS由于云服务容量 问 题 导 致 网 络 拥塞 和 性 能 下 降 而 宕机近4个小时。 2021年10月23日微软A z u r e云 产 品 出 现Windows虚拟机全球性故障,用户服务中断6个小时。 2021年4月10日国内某云厂商由于其北京机房出现故障出现大面 积 宕 机 , 持 续3个小时。 2023年10月23日,语雀 服 务 宕 机7个 多 小时。2 4日 语 雀 官 方 公布了后续将加强观测、变更管控、多中心高可用架构进行优化改进。 2016年7月,国务院发布《国家信息化发展战略纲要》,提出根本改变核心关键技术受制于人的局面,形成安全可控的信息技术产业体系,电子政务应用和信息惠民水平大幅提高。 2020年4月,国务院开展全国安全生产专项整治三年行动计划。聚焦在风险高隐患多、事故易发多发的煤矿、非煤矿山、交通运输、信息技术等9个行业领域,组织开展安全生产整治。 2020年11月,中国人民银行发布《分布式数据库技术金融应用规范》JR/T 0205—2020,明确了金融数据的可用性要求。 2021年6月,全国人大《中华人民共和国安全生产法》修订。加大对违法行为的惩处力度,进一步压实企业安全生产主体责任,进一步明确了各方面的安全生产责任、建立起了一整套比较完善的责任体系。 2022年6月,工信部开展云服务稳定安全运行应急演练专项活动。工信部统一部署,联合信通院开展面向全国云服务运营商的云服务稳定运行应急演练专项行动。 2023年10月,工信部、中央网信办、教育部、国务院国资委、中国人民银行、国家卫健委等六部门联合印发《算力基础设施高质量发展行动计划》,重点强调了定期开展巡查巡检,制定应急预案提高应急处置能力,对重要系统和数据建立热备双活机制,应用仿真灰度测试、混沌工程等新技术,发掘并消除信息系统潜在隐患。 如果你不能度量它,你就无法改进它。“ --管理学大师彼得·德鲁克 系统的稳定性,表示系统在遭受外界扰动偏离原来的平衡状态,而在扰动消失后系统自身仍有能力恢复到原来平衡状态的一种顽性。 业内常用MTBF和MTTR这两个关键指标来衡量稳定性平均无故障工作时间(Mean Time Between Failure)平均故障修复时间(Mean Time To Repair) 降发生 降低故障的发生率,支持应用建设“三高能力”,即高可用、高性能、高质量。 降影响 降低故障发生的影响范围,通过早感知、快定位、及止损点形成故障处理的闭环。 性能分析 传统的监控数据对于问题诊断还是不太够的。通过利用eBPF能力扩充操作系统监控项,可以显著提升系统的观测能力,提升故障排查效率。 eBPF可以用于监控系统的CPU、内存、磁盘和网络性能,从而帮助用户识别和解决性能瓶颈。 调试和故障排除 eBPF可以用于监控系统的运行状态,例如系统调用、进程间通信和内存分配,从而帮助用户诊断和解决故障。 容器监控 eBPF可以用于监控容器的运行状态,例如容器网络、存储和资源使用情况,从而帮助用户管理和优化容器化应用程序。 应用程序监控 04 eBPF可以用于监控应用程序的运行状态,例如函数调用、系统调用和内存分配,从而帮助用户识别和解决应用程序性能问题。 编译型语言监控 eBPF技术可以使用Linux提提供的uprobe/USDT的能力,可以实现运行时修改用户程序行为的能力。通过这种方式,可以对一些没有源码的应用/不方便进行修改的应用的特定函数进行插桩,从而获取到监控数据。 将日志事件(Logging)、链路追踪(Tracing)以及度量指标监控(Metrics)进行关联打通,实现多维度拓扑与立体化监控。 【案例】服务Pod内存持续增长 通过统计学算法从监控数据中提取服务内存分配情况的特征值,检测服务Pod是否存在内存分配失败的情况,内存分配失败较多意味着内存使用不合理,存在泄露或者资源设置过小。 图谱数据构建 知识图谱的动态数据构建:动态数据主要是实时产生的如同报警、发布信息、变更信息、容器集群的事件等。(目前只实现了哨兵报警) 知识图谱的静态数据构建:静态数据主要是指产品集群的调用链路等相对静态的结构化数据:获取来源是CMDB的集群服务器、哨兵的监控拓扑、AT的运维管理数据,后期可以扩展为业界的trace链路系统 被动推送流程 step1分析诊断引擎会监控知识图谱里面的报警实体在指定【产品】链路在【时间窗口】内的数量是否超过【阈值】,如果超过了阈值认为有大规模报警发生,就触发一次分析诊断step2分析诊断程序使用AI分析工具进行故障根因定位,将根因定位结果以短信或者电话的方式发送给指定人员 主动调用流程 step1运维和开发人员可以通过值班账号等接口调用分析诊断引擎,针对某个时间区间、针对某个产品、针对某个指定集群的链路进行根因诊断分析step2分析诊断程序使用AI分析工具进行故障根因定位,将根因定位结果以短信或者电话的方式发送给指定人员 【案例】K8S容器性能瓶颈分析 根因分析 •依据资深运维人员处理的排查经验与流程•用系统和分析引擎代替人工排查步骤•充分结合多方位运维数据系统•帮助用户快速掌握海量经验沉淀的稳定性事件排查分析 背景:用户在业务高峰期的时候,发现部分节点上的业务处理能力达到瓶颈,而部分节点上的业务正常,所有业务的启动参数均使用相同参数。 解决:通过智能诊断平台触发执行诊断流水线对系统配置进行扫描和Profiling,并与集群环境中的标准化参数进行比对。智能诊断平台分析后发现该问题是由于节点上文件数等参数配置不合理造成,给出诊断建议:Docker启动参数中的LimitNOFILE、LimitNPROC参数不一致导致所引发的想象。用户根据诊断报告中的优化建议对部分服务组件的调度策略进行问题解决。 精准定位 根因定位具体的某一个规则指标,完成规则的过滤筛选之后就得出了原因,继续往下面深入探索原因。 辅助根因定位: 模糊定位 根据根因分析结果,认为中间件存在异常:•设备读写饿死引起topic同步异常•消费者大量拉取老数据引起磁盘只读•根据吞吐量和网络流量寻找异常读写流量的topic和consumer•…… 使用算法来进行分析,通过对阶段内的数据进行处理,输出可能造成原因的指标概率。 无阈值告警 根据时间轴的方式来分析当前的所有状态会导致的下一个时间点的集群情况,提升告警阈值有效性。 黄金指标 复杂链路快速定位故障节点 定义度量服务网格健康度的“黄金指标”。容器指标、控制面/数据面业务指标、内部状态多维度可观测。 AccessLog提供HTTP、Dubbo丰富响应标识,辅助快速定位问题类型及原因。 提供巡检大盘,供网格管理员提前识别潜在风险。 运维告警规范 定义日志、指标告警规范,第一时间感知故障发生。 具备链路完整性配置拉取功能(出口、入口方向),核心治理能力自动排障功能。 中间件集群稳定性数据大盘、集群总数以及巡检覆盖率、集群健康度(风险总量、告警总量)、集群水位数据、存在风险的集群列表等 支持查看单个中间件集群的全部巡检报告历史、支持查看单个中间件集群的巡检报告详情、支持查看单个中间件集群的风险列表 可选时间范围内中间件集群异常事件总量以及分布情况(中间件类型维度/异常事件类型维度)、中间件集群中存在异常事件的集群列表 可以查看单个或多个异常事件的根因分析报告,以辅助运维人员分析造成异常事件的根本原因 轻舟中间件支持同城主备、同城双活、同城多活、两第三中心、单元化、异地多活、数据灾备等能力…… 任务调度 根据元数据和变更任务要求确定全局的变更调度计划,如实际执行目标,任务是否可以并行,按计划定时执行,管理全局任务进度 元数据库 记录管理的数据库服务集群基本信息,与业务属性等元数据信息 语句检查 整理批量语句任务,检查DDL语法与语义;拒绝可能对数据造成不可逆损失的合法语句,如部分精度,长度,字符集调整 执行模块 生成规范操作命令,脚本化自动执行任务 稳定性预检 控制模块 实时获取目标服务器资源,数据库实例负载,配置,活跃session状况,对象表规格…等全面信息,选择适合的变更方案 稳定性相关,监听变更过程数据库运行和资源变化情况,根据规则随准备实时中断任务 【产品效果】ChatInsight 使用自然语言,智能获取多维度可观测数据,来自各类企业客户与网易集团专家监控/运维经验的沉淀、模型训练与知识转化…… 支持Metric(cadvisor,nodeexporter,kube-state-metric)、应用性能RED指标、链路跟踪拓扑图指标、元数据、支持查看Log等…… 某头部金融企业已经有基础的机房网络、主机、数据库的监控系统。但是各监控系统都是独立建设的,每一层都只关心自己的指标,数据彼此是割裂的。当业务发生故障