通信世界网消息(CWW)作为中国移动智慧中台的统一技术底座,磐基PaaS平台提供了高效的集群管理和调度功能,满足多元化的业务场景需求。该平台携手DeepFlow借助eBPF技术,解决了APM落地困难和组件追踪断路中的挑战,实现了全栈且无侵扰的应用可观测性。磐基PaaS平台将eBPF数据与现有的可观测数据整合,提供了开箱即用的应用可观测性,全栈无盲点的调用链追踪等能力,大大提升了各业务系统云化的底气,并促进了平台本身的快速推广。未来,平台还针对运营商等特定行业场景,进一步深化可观测性数据的融合,并将创新性地拓展其AI能力,以增强市场竞争力。
背景介绍
磐基PaaS平台是中国移动智慧中台统一技术底座,为算力网络提供编排调度能力,提供分钟级的集群交付,实现ARM/X86/混部架构集群统一管控,按需调度,支撑B、O、M三域用户交互、计算密集、数据密集、交易密集等多种类型的业务系统,具备万级POD承载能力,构建双栈网络,使在线业务稳定运行、平稳应对业务高峰。
磐基PaaS平台目前纳管700+集群,4万+节点,6千多套组件,支撑省分公司包括CRM核心系统、BOSS计费系统,IT公司、各专业公司IT系统包括AI、大数据系统等600多个业务系统上云。
云原生PaaS产品能力图谱
目前磐基PaaS平台基于可观测性三大基石(指标+追踪+日志)的指导思想,已经使用不同的组件构建完成,利用Prometheus获取了云原生基础设施资源(Docker、K8s自身)、中间件(Redis、Nginx)等指标数据,利用自研的APM实现了微服务在代码级别的调用链追踪,利用自研日志平台收集主机、Kubernetes、组件、应用实例的日志数据。但是在业务真正落地过程中,还是存在以下一些问题:
推广支撑力度不够
语言依赖强:字节码注入技术依赖业务系统代码语言和代码框架,导致传统APM技术需提供各种语言和框架的探针,才能满足企业级PaaS平台的可观测能力,因而在能力建设上的投入往往落后于实际生产需要。
迁移难度大:SkyWalking等APM产品早在非容器化时代便已普及,云原生时代同步提供了容器化操作。当业务系统与APM产品深度融合后,变更观测产品的推动力便极其微弱。
观测能力覆盖不足
云设施观测能力不全:云原生全栈式可观测融合视图应包含云原生网络层能力,但传统探针技术在CoreDNS、NodeLocalDNS等Kubernetes网络层还存在盲区。
基于以上痛点,磐基PaaS平台开展ebpf技术能力特性的研究,并与deepflow社区开展合作,启动基于ebpf技术的可观测平台能力建设,突破创新性的技术壁垒,致力于完善云原生场景下的应用观测图谱。
为什么引入DeepFlow?
DeepFlow基于eBPF实现了应用性能指标、分布式追踪、持续性能剖析等观测信号的零侵扰(ZeroCode)采集,并结合智能标签(SmartEncoding)技术实现了所有观测信号的全栈(FullStack)关联和高效存取。
零侵扰的方式支持主流应用协议的解析,包括HTTP1/2、HTTPS(Golang/openssl)、Dubbo、gRPC、ProtobufRPC、SOFARPC、MySQL、PostgreSQL、Redis、Kafka、MQTT、DNS,未来还将扩展更多应用协议的支持。提供了查看所有微服务应用的RED(Request/Error/Delay)黄金指标,所有微服务之间的全景调用关系,以及网络协议栈L4层的吞吐、时延、建连异常、重传、零窗等指标。
开箱即用
利用eBPF和Wasm技术零侵扰实现分布式追踪,支持任意语言的应用程序,完整覆盖网关、服务网格、数据库、消息队列、DNS、网卡等各类基础设施,不留下任何追踪盲点。
零侵扰分布式追踪
依托eBPF技术获得的无插码零侵扰能力,DeepFlow基本能做到独立应用部署,对应用开箱即用,对外提供的GrafanaDashboard也非常丰富。
磐基eBPF应用可观测性实践
DeepFlow对外提供统一的SQL接口查询所有类型的观测数据,磐基平台可以非常方便的将DeepFlow数据与自身可观测平台集成,目前磐基可观测平台基于eBPF数据实现了网络流量拓扑展示、eBPF调用链火焰图展示、告警阈值配置、并将eBPF数据与现有的指标、日志、调用链数据融合,以实现全栈一体化的可观测性平台。
平台架构
流量拓扑展示,支持多种维度拓扑视图(应用POD/NODE、网络POD/NODE);支持跨集群流量调用展示;支持黄金指标(吞吐量、错误率、延迟等)进行告警阈值配置找到异常网络路径;支持告警阈值配置控制线条颜色,展示不同颜色拓扑线条,并实时告警通知;支持灵活的过滤条件(集群、分区、工作负载、协议、节点)。
流量拓扑-01
流量拓扑-02
调用链火焰图,展示单条请求的全栈调用关系,包括系统进程、主机、容器节点、POD容器内的请求耗时情况。
调用链火焰图
deepflow-agent、deepflow-server、deepflow-app等镜像进行重新编译和底包OpenEuler操作系统替换,并通过镜像安全扫描。
从统一门户,资源中心获取用户和业务系统等数据,和eBPF可观测数据进行融合,做多租户权限隔离。
将deepflow-server端元数据查询存储引擎MySQL进行改造,使其能够同时适配磐维数据库和Postgres。
将磐基自身APM数据转换成OpenTelemetry标准的调用链数据,并将OpenTelemetry、eBPF获取到的追踪数据进行关联,覆盖一个应用从业务代码、系统函数、网络接口的全栈调用路径,实现真正的全链路分布式追踪。
未来展望
进一步融合eBPF可观测性数据与指标、日志及调用链追踪数据,构建全栈一体化可观测性平台
利用WASMplugin实现eBPF内核可编程,实现业务私有协议解析能力、私有字段数据脱敏能力
利用eBPF采集进程的性能剖析数据,实现CPU、内存全栈性能数据分析展示
结合AI能力,提供根因分析、故障预测、大模型智能助手等功能