面对大促 DevOps 怎么做?这里有一份京东 11.11 DevOps 备战指南
今年 11.11,从 0 点到 23 点 59 分,京东 11.11 全球热爱季累计下单金额突破 2715 亿元,创造了新的记录。随着 GMV 和买家数不断创新高,要应对几何级增长的大促需要跨多个团队协同,云资源使用也越来越多,从几百到几千、上万,每个都核对一遍基本不现实,京东智联云 DevOps 作为京东智联云的核心技术产品,能实现研发、测试、运维高效协同,提升服务交付效率和稳定性,并能通过服务与资源管理、持续交付和智能监控三大应用场景,快速发现问题-定位问题-解决问题。
一、发现问题——故障无处遁形
监控是研发、运维人员的眼睛,对服务进行多维度立体的观测,才能确保故障出现的时候第一时刻发现。京东智联云监控为用户提供如下建议:
监控覆盖排查
京东智联云监控提供从浏览器->边缘节点(CDN)-> 负载均衡 –> 服务器全链路的监控覆盖, 通过定义监控标准,为用户添加监控,帮助用户覆盖监控提供方法、工具上的支持。
监控标准分为四层,我们从下往上看:
重点系统在日常工作中往往已经在安全方面进行了重点关注,在大促备战期间主要关注:
首先是基础监控,这一层主要解决机器、网络层面的问题,包括我们常见的 CPU、内存,机器死机等问题;
然后是存活性监控,解决程序部署到机器上后,是否存活的问题,比如进程退出,端口发送一个 ping 过去,没有返回 pong;
再上一层,则是性能监控,重点关注 Google 提出的四大黄金指标 pv、平响、错误码和容量等,解决分布式程序的定界问题(比如通过访问 MySQL 的时间飙升知道是下游 MySQL 的问题);
最上层是业务监控,模拟用户进行访问,解决服务在用户侧的表现是什么。
有了标准,设计的监控系统就能按照标准来落地,可以给出一些数据化的运营指标,推动监控的完善。
基于对业务配置的指标采集、告警规则的分析,帮助用户分层级地发现监控配置当中的疏漏,提醒用户在各个层级配置监控,提升监控覆盖度。
日常巡检
所谓上工治未病。除去配置覆盖完整的报警,及时排查服务的潜在风险,避免大促流量洪峰时期出现服务质量的问题,日常巡检必不可少,京东智联云智能监控提供內建基础资源巡检大盘,帮助用户快速发现资源不足问题。
同时,京东智联云自研时序数据存储支持 OpenTSDB/Prometheus 协议,便于集成 Grafana 组件,方便用户自行定制大屏。除去时序数据指标,京东智联云还提供基于日志的实时指标提取方案,可以对接报警、展示。
定位问题
“
如果我有一小时拯救地球,我会用 59 分钟界定问题,然后用 1 分钟解决它 。
”
——爱因斯坦
当故障发生,定位问题的边界,快速寻找根因是缩短整个故障处理 MTTR 的重中之重。京东智联云智能监控从“宏观”定界到“微观”定位角度,通过联合事件、日志、应用异常多维度数据,帮助用户缩短定位问题时间。
事件追踪
故障往往由“流量下降”、“页面打不开了”等黑盒类检测发现,但问题的具体所在并不能通过此类告警发现。而故障发生往往与变更有关,帮助业务人员快速了解到故障时段,究竟出现过哪些模块的调整,来推断问题的边界就有很大的帮助。
智能监控集成关联应用的各类变更操作,消除业务人员的信息屏障,为业务人员提供“上帝视角”,可以从宏观层面了解到当前各个子系统都在发生些什么,能够更好帮助用户找到具体的故障原因以及故障故障模块。
日志追踪
在确认问题边界之后,接下来就是对具体故障原因的分析了,京东智联云日志服务提供对服务日志订阅、检索、分析等多方面功能。承载 PB 级日志业务,提供低成本、高性能的完整解决方案。通过现场日志查看、以及日志分析任务等功能,从“白盒”的角度观测业务当前正在出现的异常。
排障利器 JEX
微观层面,京东智联云监控团队推出自主研发的无侵入式的故障诊断平台 JEX, 实时捕获异常,可以在线开启火焰图,捕获 CPU/内存热点,行级别定位代码问题,大幅缩短研发人员排查故障时间。通过集成 JEX, 研发人员可以在第一时间获取业务 Exception 的具体情形,JEX 可以保留异常事件发生的环境信息,方便研发复现以及定位代码问题所在。
二、解决问题
“
凡事预则立不预则废。
”
故障发生第一时刻应该执行止损操作,避免对线上业务造成持续的影响。京东智联云 DevOps 平台通过不断的压测、破坏性演练,保障了在历次大促期间平稳运行。通过对故障处理实践的不断总结凝练,京东智联云 DevOps 推出预案平台,作为研发、运维同学的“手脚”,为业务方提供快速止损的能力。我们将预案分类为流量处理、扩缩容、降级、数据恢复、主备切换等几大维度,指导用户自流量入口到后端存储建立完善的预案体系。同时提供可自动执行以及可手工执行的预案,针对不同团队不同运维场景的故障止损操作。
预案平台提供 webhook、对接 DevOps 平台控制系统两种方式分别应对不同场景的故障自愈。
Webhook
京东智联云智能监控支持对告警配置添加 webhook 的形式来打通故障的发现到处理环节。用户可以定制自己的 webhook API, 实现数据分析、故障处理、自行的消息通知等不同场景的扩展。
控制系统联动
智能监控预案平台通过直接对接 DevOps 控制系统,调用用户自行编写的脚本、在指定的服务器上进行止损操作,以此达到降低用户编写预案的成本。
三、总结
与市面通用型产品不同的是,京东智联云 DevOps 能力起源于自身的业务实践,针对京东集团的复杂业务场景打造并经受住多次 618、11.11 电商大促的严峻考验,保证了高效高质的交付和对变化的灵活应对。
京东智联云 DevOps 平台与京东智联云的公有云平台深度集成,对用户运行在京东智联云上的系统提供统一的运维入口,提升服务交付效率和稳定性,实现高效的自动化研发运维。它不仅能将运维管理与企业组织结构相匹配,设置基于角色的权限管理,满足企业层次化运维管理;还能从保障用户业务稳定性的角度,自动为宕机服务器上运行的容器(云主机)重新迁移并生成新的实例、保障业务不掉线、高可靠运行,并自动监控服务健康状态、动态调整集群、实时调度相关预案、实现故障自愈。
推荐阅读:
欢迎点击【京东智联云】,了解开发者社区
更多精彩技术实践与独家干货解析
欢迎关注【京东智联云开发者】公众号
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/ee8cc002796bceb38857baddb】。文章转载请联系作者。
评论