运营商实战成果——分布式架构可观测能力建设全攻略
近年来,随着企业业务规模日益庞大,IT 架构日益复杂,云计算、微服务等一系列技术在各企业内部开始逐步探索落地。技术的发展不仅对企业内部运维管理产生了极大的挑战,对于监控体系也提出了更高的要求。
某运营商公司在 IT 架构搭建、组织部门规划时,大胆采用先进理念,进行了全部业务系统的分布式设计、SRE 运维部门的分工创建。嘉为蓝鲸全栈智能观测中心在其中为业务系统的研发测试、快速迭代提供了重要的工具能力支撑;为 SRE 运维组观测业务系统运行情况、及时定位分析处置告警提供了统一能力平台。
业务场景
分布式、微服务、云原生等先进应用架构在落地敏捷开发、快速迭代、弹性伸缩的同时将原有的单体应用拆分成多个独立部署相互通信的组合应用。应用数量指数级增长,业务模块间依赖关系错综复杂,不同业务层级不同维度难以建立实时有效的映射关系。同时,随着容器频繁启停,监控对象及其指标变化成为常态,故障现场难以留存、故障问题难以有效定位。
分析痛点
以上云原生架构的观测难点给应用运维的故障分析、根因定位、业务连续稳定带来严峻挑战。应用观测难点概述为以下两点:
1)信息维度复杂,难以建立多维数据关联映射关系
云原生应用的监控度量涉及应用进程、中间件、容器编排平台、容器进程、资源基础设施等相关层级资源属性和性能指标;其次,应用排障及性能剖析涉及多个服务、多个组件复杂交互关系,需根据请求链路依赖关系分析故障根因。
2)架构动态变化,故障现场难以留存,问题难以定位
容器部署架构基于声明式面向终态的设计思想,部署资源实例对象变更频繁,服务节点漂移成为常态。基于多维明细数据和指标数据关联映射构建的运行时观测分析矩阵能有效回溯历史故障现场。
解决方案
1)合纵连横故障寻址
纵向:建立运行时软件架构级联对象下钻分析逻辑。基于实际业务流量构建不同服务的全局依赖拓扑,实现可选时间范围的单业务领域全景分析,通过拓扑节点大小、颜色差异有效分析服务流量负载及服务健康状态,支持对服务节点的下钻分析、指定时间范围内服务请求、负载、错误、耗时黄金指标,在服务内可下钻分析服务的单一接口/单一服务实例进一步故障寻址分析。将服务实例与 CMDB 管理资源(主机、容器)关联,可下钻至 IaaS 层资源,分析 IT 基础资源指标异常对服务流量的影响。
横向:基于 Trace 串联构建单笔请求链路追踪。每笔业务请求调用在入口服务生成请求唯一标识,当流量在下游多个服务传递时将请求唯一标识、当前节点请求标识、上游服务信息作为上下文传递,从而构建完成业务调用链路。此外,用户可结合实际业务场景从 HTTP 请求头、请求参数、cookie 等获取业务特征数据完成数据埋点,在链路分析时根据指定业务特征的请求依赖关系辅助业务异常分析。
2)调用链与日志明细关联根因定位
在 KAPM 和 KLC 共同交付场景下,可将调用链和日志明细进行关联,实现高效根因定位。通过 KAPM 调用链分析能力用户可以确定请求依赖关系、缩小排障范围、准确故障寻址,但无法获取故障根因明细,在此场景下将调用链和日志明细关联无缝链接排障最后“一公里”。
成果展示
1)核心应用系统全覆盖
2)根据应用运行情况,展示应用概览看板
3)应用关联资源自动发现
4)接口级运行状况监控
5)系统请求 Trace 实时检索
建设成效
实现应用系统可观测全覆盖,拓扑指标一站式监控
实现应用系统拓扑自动生成,解决新模式下应用架构分析难题
实现周边资产自动关联,提升系统运行故障分析效率
实现应用调用链采样分析,系统运行精确到每一笔请求
场景适用性
嘉为蓝鲸可观测中心适用于企业内部系统分布式架构设计,微服务化系统单元的场景。适用于以下类型的企业:
正在或已经完成分布式架构改造的企业
应用开发或运维人员对应用性能观测有认知、有需求、会使用的企业
监控告警日志体系已经具备,希望在基础监控基础上深入可观测能力的企业
已经部署嘉为鲸眼其他模块产品,希望实现一体化可观测中心的企业
应用开发排障难、迭代效率低下,希望通过可观测产品协助实现快速研发的企业
评论