构筑云原生可观测性,打造低成本、高效、统一的云原生稳定性保障平台

云杉 世纪 | 2024-03-13

应用云化、云原生化是企业全面数字化转型的必要技术基础,光大银行2019年开始建设新一代全栈金融混合云平台,在引入了多种云计算核心技术的同时,也开始采用云原生集群架构为应用架构服务化改造提供平台支撑,随着全行应用系统的逐步上云,全栈云的可观测性成为信息科技部关注的重点。
随着云原生技术的应用,网络、系统、应用运维均发生了革命性的变化,应用软件向微服务架构发展,微服务调用关系复杂,开发迭代速度加快,系统资源实时动态变化,云网黑盒化严重,应用迁移上云之后的系统稳定性、业务可靠性保障面临巨大挑战。
同时云原生基础设施与云原生应用的监控运维手段,也面临很多如下新问题:
微服务架构下多语言、多网络协议带来应用的埋点成本高;
微服务化导致业务调用链过程复杂,全链路追踪难;
应用交互跨容器、虚拟机、宿主机多层,故障定界难;
网络路径交织复杂、动态多变,逐段抓包难,故障定位难;
应用、系统、云网的指标数据、日志数据、追踪数据、标签数据存在高基多维的特点,数据关联、分析、呈现处理技术复杂;
云原生应用与云原生基础设施之间的数据存在鸿沟,缺乏统一的运维能力,导致应用监控运维与基础设施运维协同难度高,故障处理效率低;
应用从分布式架构向云原生迁移过程中,缺乏有效的工具支撑云原生应用的开发、测试、迁移。
这些变化和挑战给光大银行的 IT 运维、业务保障带来巨大的困难,传统监控运维手段难以满足云技术变革背景下的运维需求,构建云原生统一可观测性平台就成为解决这类问题的必然技术选择。
DeepFlow 可观测性平台
在光大银行新一代全栈金融混合云平台的规划初期,技术团队即结合此前工作中的经验总结,将全栈云和云原生业务的全面可观测性列入到云平台的重要能力中,同步规划、同步验证、同步建设 DeepFlow 云原生可观测性平台。
整体方案中包括了 DeepFlow 云原生轻量级采集探针和 DeepFlow 云原生可观测性分析平台。
DeepFlow 轻量级采集探针实现了对云原生可观测性数据的低成本、全面采集,具体包括:
通过 BPF 技术对 IAAS 层、PAAS 层及 NFV 网元(LB、NAT Gateway、分布式路由等)的虚拟网络的全链路全流量采集能力,实现业务端到端的网络指标数据、追踪数据、日志数据的统一采集;
通过 eBPF 技术构建对云原生应用无开发语言依赖、无开发框架依赖、无计算平台依赖的无侵入采集能力,实现云原生应用指标数据、追踪数据、日志数据统一采集;
通过采集探针的开放接口,无缝汇聚 Skywalking Agent 的 OpenTelemetry 数据,实现云原生应用进程级的指标数据、追踪数据、日志数据的统一采集;
通过容器平台的 API 能力,实时感知容器资源的动态变化,实现云原生资源、业务标签数据的统一采集。
DeepFlow 云原生可观测性平台的核心技术和实现包括:
通过 Autotag 技术自动为所有观测数据注入统一的属性标签,消除数据孤岛问题,以释放数据的下钻切分能力;
通过 SmartEncoding 技术将属性标签编码为整型值,在标签注入阶段直接注入整型标签,以10倍的效率提升可观测性数据的存储、处理性能;
通过高性能数据分析引擎,对海量、高基、多维、异构的可观测性数据进行统一的标记、关联、分析;
通过应用调用链可视化追踪功能,实现对任意一次云原生应用请求从业务代码到框架代码、应用进程、代理进程、容器网络、云网络、NFV 网元、物理网络的全链路追踪、指标观测、日志分析能力;
通过网络可视化分析功能,实现了对云网络、容器网络的从宏观到微观的拓扑可视化分析、指标可视化分析、云网流量追踪、网络日志回溯等全方位的洞察能力;
通过 NAT 追踪功能,实现了面向 NFV 网元运维的可观测分析能力。

云原生应用调用链追踪


同时 DeepFlow 云原生可观测性平台实现了开放的可观测性数据共享接口,包括:
通过 HTTP 等标准接口实现告警事件与公司统一告警平台的对接;
通过 API 接口实现了 Grafana 对可观测性数据的全自动调阅,从而通过 Grafana 构建跨平台的数据查询、呈现能力;
SQL 查询接口实现了与 Skywalking 数据共享对接;通过云原生采集探针的原始流量分发功能,为交易分析、安全分析提供容器网络流量的获取能力。
DeepFlow 云原生可观测性平台实现了灵活的视图定制化能力,运维人员构建面向业务的运维监测视图,将云原生业务的服务质量映射为8~10个黄金指标(负载类指标、时延类指标、性能/异常类指标),通过主动的性能指标监测实现了面向云原生应用稳定性、可靠性的主动保障能力。