质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

京东云开发者
• 阅读 20

作者:京东物流 翁美婷

一、前言

随着系统数量增多,复杂度提高,线上应急问题时有发生;加之需投入大量人力进行服务治理和验证,为了减少日常应急问题及提前排除风险,发起对生产系统的持续综合性治理,实现常态化稳定性治理。在常态化治理过程中我们将识别问题等重复性有规律的工作实现自动化,技术人员更专注于解决问题。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

二、稳定性治理常态化

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

保障稳定性治理常态化,部门组建了一支由研发团队、测试团队、架构师组成的稳定性治理队伍,对部门核心应用,核心服务风险、服务器资源风险、日志风险、性能防劣化、以及技术专项等多维度持续风险识别和治理。

1、核心服务风险: 重点关注服务响应时间TP99跳点、响应时间max跳点、可用率小于100%、秒级调用量1500次以上TP99性能等。

2、服务器资源风险: 巡检的服务器有应用服务器、DB、MDC、ES、Redis、Tidb、ClickHouse等;关注指标:CPU、内存、磁盘、网络……;注意不同的服务器关注的指标侧重点不同。

3、性能防劣化: 针对服务和资源的性能指标分析峰值、趋势、对比及偏差情况识别系统的劣化发生。服务维度:UMP调用量、响应时间、可用率;资源维度:主机CPU、内存、磁盘,数据库慢SQL、QPS;其他中间件:JVM等。

4、日志风险治理: 日志问题包含异常日志治理、日志规范性、日志清理及磁盘监控、日志级别动态配置等方面。

5、其他专项常态化: 性能测试覆盖日常架构升级、重点项目需求,安全测试针对代码安全、组件安全、敏感接口、数据安全的专项测试,数据库慢SQL、数据结转、主从延迟等,针对内部外的应急问题架构和质量复盘借鉴,识别自身系统可以改进提升项。

此外,应急薄弱点专项、应急演练、接口限流风险等各类稳定性保障专项持续推进。

三、稳定性治理自动化

常态化治理的痛点: 部门应用多,覆盖全部应用耗费大量时间人力,当增加review项时,工作量大幅增加,落地难度增大。如何提升review效率和可落地性?

自动化解决问题

1、线上问题巡检自动化, 降低重复性人力工作,研发更专注于问题优化和高可用建设。

2、丰富风险项检测, 风险项扩充不会额外增加大量人力排查

3、部门全盘稳定性监控, 问题检测能力复用,从核心服务review复制到全量不需要增加人力。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

自动化过程

1、定义问题: 明确指标,确定异常规则。在稳定性常态治理过程沉淀了一套覆盖核心服务风险、服务器资源风险、日志风险、性能防劣化、以及其他专项的风险项和识别方法,这部分是问题的来源。

2、自动识别: 自动巡检,识别线上异常。数据来源于两部分,已有的UMP、Logbook、MDC,此外来源还有压测数据、SLA定义等。

3、闭环问题: 工单跟进,提升闭环效率,通过问题线上报表跟踪治理进度,每日/每周的定时巡检,回归验证,检验修复效果。

四、治理实践

从UMP异常、资源异常、性能防劣化、logbook异常关键字、等维度线上服务稳定性治理实践案例。

1、UMP异常-可用率<100%

案例:

1、定义问题:可用率<100%

2、自动识别问题:获取T+1的UMPkey监控数据,获取可用率小于100异常点信息,统计可用率小于100的次数,最低可用率及对应的时间为辅助排查问题的依据。

3、问题跟进:UMP监控XXXServiceImpl.buildBusinessSummary可用率经常小于100%,排查因为正常业务问题未从方法监控ump可用率中剔除,通过主动上报提高报警精准度。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

2、资源异常-磁盘使用率风险

案例:

1、定义问题:磁盘使用率>80%

2、自动识别问题:获取T+1的资源监控数据,获取磁盘/和/export的磁盘使用率>80%信息,统计出现次数,最高利用率及对应的时间。

3、问题跟进:0级应用服务器磁盘使用超过80%,优化log4j配置,补充监控报警。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践



3、Logbook关键字-空指针异常

案例:

1、定义问题:

log关键字分为程序类异常和业务类异常关键字:

(1)业务类异常:业务异常时主动输出的错误日志,例如“下单失败”,各系统根据需要自行打印和配置

(2)程序类异常:程序出现预期外的异常,自动抛出的错误日志,例如:NullPointerException

2、识别问题:某应用日志报空指针异常。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践



4、 性能防劣化-CPU劣化

案例:CPU劣化案例

2月5日11:00-19:20之间核心鉴权服务分组机器12台服务器CPU使用率先后峰值13%到27%异常增长,并持续高于日常值,对外提供服务无明显异常,客户无感知。对服务JVM分析发现,频繁FullGC引起CPU升高,打印堆栈信息某中间件占用内存1.4G(JVM共4G),经与中间件团队沟通当前版本存在线程池资源无法释放问题。

质量视角下的系统稳定性保障--稳定性保障常态化自动化实践

五、结语

通过自动化的方式每日对线上核心UMP、Logbook、主机、数据库、ES、Redis风险进行巡检,降低人工review工作量。稳定性治理重在持续,过程中可能会遇到痛点和艰难,值得技术人用技术不断提升。

点赞
收藏
评论区
推荐文章
京东物流常态化压测实践 | 京东云技术团队
大促备战压测备战时间紧、任务多,压测备战压力较大,在大促备战多专项并行资源紧张情况下,频繁的系统调优给整个大促带来不可控的风险因素。引入常态化压测的手段,通过每周或每月的定期压测行为,持续把控系统性能表现,保证服务稳定性;同时将需求上线引起的性能问题前置暴露,及时定位优化问题;减轻备战压力,提升压测效率。
浅谈常态化压测 | 京东物流技术团队
随着业务的不断增长,支撑业务系统的压力也逐渐增加,会面临如系统越来越厚重、逻辑越来复杂、迭代节奏越来越快等繁杂的情况。我们当前并没有做到在每次变化时快速识别出性能风险,检测产品或系统的稳定性、可靠性,而且我们还在不断的投入人力成本在压测这件事情上也是不合理的,所以我们要将性能验证融入到我们日常的工作中,把压测做到常态化,做成平常的一件事。
一种新的告警收敛方式“先知预警”,为您的系统健康护航 | 京东云技术团队
在大额的交易面前,系统的稳定性尤其重要,同时基金业务比较复杂,为保障每个地方的稳定,告警埋点很多,加上各种日终检查,出现很多新的问题。结合日常处理经验,我们重新思考是否有好的方式,提前发现异常,改善此事,于是在基金交易系统中做了一件事情,有效的提高了系统的稳定性
安全测试常态化落地方案及日常推进机制 | 京东物流技术团队
数据安全法实施后,国家监管部门加强了对企业数据安全的监管力度。在这个大的背景下,为保障物流体系系统安全,提前规避安全风险,由测试组牵头制定安全测试流程规范并持续推进安全测试常态化。
分拣平台API安全治理实战 | 京东物流技术团队
导读本文主要基于京东物流的分拣业务平台在生产环境遇到的一些安全类问题,进行定位并采取合适的解决方案进行安全治理,引出对行业内不同业务领域、不同类型系统的安全治理方案的探究,最后笔者也基于自己在金融领域的经验进行了关于API网关治理方案的分享。写在前面随着互
慢SQL治理实践及落地成果分享 | 京东物流技术团队
为了保证系统稳定性,预防潜在慢SQL导致应急事故,发起慢SQL常态化备战专项,下文主要描述专项的实践及落地情况。
京东云开发者 京东云开发者
8个月前
稳定性方法论:可灰度 & 可监控 & 可回滚
业务系统核心目标是挣钱,系统稳定性建设核心是防止丢钱(丢钱逻辑如下图所示),站在公司的角度看,产品功能建设和系统稳定性是同等重要。前段时间写了《》,该文章在稳定性建设的理论和实践基础上,抽象出稳定性治理的框架,希望建立一个稳定性治理的标准动作、最佳实践。但
数字先锋 | 绘就“煤”好未来!
打造信息化系统是中国中煤进行业务模式创新的重要举措,涉及数字化应用能力建设、大数据体系建设与数据治理等多个场景,对系统稳定性、兼容性要求较高;从安全角度来看,信息化系统集成了大量的生产数据及人员信息,因此对现有平台进行安全升级,也是中国中煤关注的重中之重。针对中国中煤的实际需求,天翼云以自研云平台为底座,助力中国中煤信息化系统平台进行上云迁移,能够支持数据连接及业务应用在国产化环境下快速开展,为中国中煤高质量发展注入新动能。
数字先锋 | 牵手中资医疗医药,开创医疗医药应急保障服务新格局
医药物资保障是公共卫生应急体系的重要基础支撑。新冠疫情防控工作进入常态化,做好医药物资保障是坚决打赢疫情防控阻击战的关键。中资医疗医药应急保障平台有限公司携手天翼云,共同打造医药行业云,聚焦医疗医药物资的生产、流通、储备等环节,广泛汇聚医药行业领域的数据资源,服务于紧急条件下的医学技术支援、医药物资调配、应急物资储备和应急产能转化,为突发公共事件的医疗医药应
京东云开发者 京东云开发者
4个月前
研发视角浅谈R2流量回放测试
一、背景测试小伙伴们在2023年保障了团队线上系统0问题,这简直就是一项了不起的壮举!这得益于咱们测试组同事对工作的细致投入、风险把控、以及严格遵循流程规范进行测试用例评审、自动化建设、联调推动、回归验证、常态化压测、大促高保真压测、引流回放等多重保险策略