cover_image

中国移动磐基PaaS平台 基于eBPF的应用可观测性建设实践

让观测更简单 DeepFlow
2023年12月06日 08:00

作为中国移动智慧中台的统一技术底座,磐基 PaaS 平台提供了高效的集群管理和调度功能,满足多元化的业务场景需求。该平台携手 DeepFlow 借助 eBPF 技术,解决了 APM 落地困难和组件追踪断路中的挑战,实现了全栈且无侵扰的应用可观测性。磐基 PaaS 平台将 eBPF 数据与现有的可观测数据整合,提供了开箱即用的应用可观测性,全栈无盲点的调用链追踪等能力,大大提升了各业务系统云化的底气,并促进了平台本身的快速推广。未来,平台还针对运营商等特定行业场景,进一步深化可观测性数据的融合,并将创新性地拓展其 AI 能力,以增强市场竞争力。

01

中国移动磐基 PaaS 平台

磐基 PaaS 平台是中国移动智慧中台统一技术底座,为算力网络提供编排调度能力,提供分钟级的集群交付,实现 ARM/X86/混部架构集群统一管控,按需调度,支撑 B、O、M 三域用户交互、计算密集、数据密集、交易密集等多种类型的业务系统,具备万级 POD 承载能力,构建双栈网络,使在线业务稳定运行、平稳应对业务高峰。

磐基 PaaS 平台整合了磐基容器平台、磐舟 Devops、算力管控、磐维数据库、磐智 AI 平台及相关能力,以战略指导、统一规划、能力解耦、有机组装、需求驱动、场景匹配、敏捷迭代、低感升级为原则,全面布局云原生 PaaS 产品能力图谱,均衡发展。

磐基 PaaS 平台目前纳管700+集群,4万+节点,6千多套组件,支撑省分公司包括CRM核心系统、BOSS 计费系统,IT 公司、各专业公司IT系统包括 AI、大数据系统等600多个业务系统上云。

图片
01-云原生 PaaS 产品能力图谱

目前磐基 PaaS 平台基于可观测性三大基石(指标+追踪+日志)的指导思想,已经使用不同的组件构建完成,利用 Prometheus 获取了云原生基础设施资源(Docker、K8s 自身)、中间件(Redis、Nginx)等指标数据,利用自研的 APM 实现了微服务在代码级别的调用链追踪,利用自研日志平台收集主机、Kubernetes、组件、应用实例的日志数据。但是在业务真正落地过程中,还是存在以下一些问题:

推广支撑力度不够

  • 信任度不足传统APM探针技术主要采用字节码注入技术,该技术虽无需业务系统研发人员关注代码实现,但对业务系统仍有代码侵入特性,进而占用业务系统资源,或影响业务性能。高并发生产系统往往因探针可能产生的影响,而质疑其收益性。

  • 语言依赖强字节码注入技术依赖业务系统代码语言和代码框架,导致传统 APM 技术需提供各种语言和框架的探针,才能满足企业级 PaaS 平台的可观测能力,因而在能力建设上的投入往往落后于实际生产需要。

  • 迁移难度大SkyWalking 等 APM 产品早在非容器化时代便已普及,云原生时代同步提供了容器化操作。当业务系统与 APM 产品深度融合后,变更观测产品的推动力便极其微弱。

观测能力覆盖不足

  • 云设施观测能力不全云原生全栈式可观测融合视图应包含云原生网络层能力,但传统探针技术在 CoreDNS、NodeLocal DNS 等 Kubernetes 网络层还存在盲区。

  • 组件观测能力弱可观测能力应尽可能地呈现业务系统及其相关的依赖组件、基础设施的全貌,但传统的探针技术因语言和框架的依赖性,在观测系统所依赖的组件内部的呈现能力还显得不足,往往只能到其表面请求入口,内部仍是黑盒状态。

基于以上痛点,磐基 PaaS 平台开展 eBPF 技术能力特性的研究,并与 DeepFlow 社区开展合作,启动基于 eBPF 技术的可观测平台能力建设,突破创新性的技术壁垒,致力于完善云原生场景下的应用观测图谱。

02

为什么引入 DeepFlow

DeepFlow 基于 eBPF 实现了应用性能指标、分布式追踪、持续性能剖析等观测信号的零侵扰(Zero Code)采集,并结合智能标签(SmartEncoding)技术实现了所有观测信号的全栈(Full Stack)关联和高效存取。

零侵扰的方式支持主流应用协议的解析,包括 HTTP 1/2、HTTPS(Golang/openssl)、Dubbo、gRPC、ProtobufRPC、SOFARPC、MySQL、PostgreSQL、Redis、Kafka、MQTT、DNS,未来还将扩展更多应用协议的支持。提供了查看所有微服务应用的 RED(Request/Error/Delay)黄金指标,所有微服务之间的全景调用关系,以及网络协议栈 L4 层的吞吐、时延、建连异常、重传、零窗等指标。

图片
02-开箱即用

利用 eBPF 和 Wasm 技术零侵扰实现分布式追踪,支持任意语言的应用程序,完整覆盖网关、服务网格、数据库、消息队列、DNS、网卡等各类基础设施,不留下任何追踪盲点。

图片
03-零侵扰分布式追踪

依托 eBPF 技术获得的无插码零侵扰能力,DeepFlow 基本能做到独立应用部署,对应用开箱即用,对外提供的 Grafana Dashboard 也非常丰富。

03

磐基 eBPF 应用可观测性实践

DeepFlow 对外提供统一的 SQL 接口查询所有类型的观测数据,磐基平台可以非常方便的将 DeepFlow 数据与自身可观测平台集成,目前磐基可观测平台基于 eBPF 数据实现了网络流量拓扑展示、eBPF 调用链火焰图展示、告警阈值配置、并将 eBPF 数据与现有的指标、日志、调用链数据融合,以实现全栈一体化的可观测性平台。

图片
04-平台架构
  • 流量拓扑展示,支持多种维度拓扑视图(应用 POD/NODE、网络 POD/NODE);支持跨集群流量调用展示;支持黄金指标(吞吐量、错误率、延迟等)进行告警阈值配置找到异常网络路径;支持告警阈值配置控制线条颜色,展示不同颜色拓扑线条,并实时告警通知;支持灵活的过滤条件(集群、分区、工作负载、协议、节点)。
图片
05-流量拓扑-01
图片
06-流量拓扑-02
  • 调用链火焰图,展示单条请求的全栈调用关系,包括系统进程、主机、容器节点、POD容器内的请求耗时情况。
图片
07-调用链火焰图
  • deepflow-agent、deepflow-server、deepflow-app 等镜像进行重新编译和底包 OpenEuler 操作系统替换,并通过镜像安全扫描。

  • 从统一门户,资源中心获取用户和业务系统等数据,和eBPF可观测数据进行融合,做多租户权限隔离。

  • 将 deepflow-server 端元数据查询存储引擎 MySQL 进行改造,使其能够同时适配磐维数据库和 Postgres。

  • 将磐基自身 APM 数据转换成 OpenTelemetry 标准的调用链数据,并将 OpenTelemetry、eBPF 获取到的追踪数据进行关联, 覆盖一个应用从业务代码、系统函数、网络接口的全栈调用路径,实现真正的全链路分布式追踪。

04

未来展望

通过一段时间的探索和实践,磐基PaaS基于 eBPF 可观测取得了一些阶段性成果,后续将加速磐基 eBPF 应用可观测性平台在各个地域上生产,给业务系统上云提升信心。也将继续在功能上快速迭代,大致计划:

  • 进一步融合 eBPF 可观测性数据与指标、日志及调用链追踪数据,构建全栈一体化可观测性平台

  • 利用 WASM plugin 实现 eBPF 内核可编程,实现业务私有协议解析能力、私有字段数据脱敏能力

  • 利用 eBPF 采集进程的性能剖析数据,实现 CPU、内存全栈性能数据分析展示

  • 结合 AI 能力,提供根因分析、故障预测、大模型智能助手等功能

同时将进一步加强与 DeepFlow 社区的合作,把磐基eBPF 可观测性在运营商行业的实际应用经验和成果分享给社区,促进开源社区的共同发展。

欢迎大家报名参与12月16日,由清华大学&云杉网络主办的“以网络为中心的零侵扰可观测性”技术论坛,本次论坛邀请了清华大学、光大银行、民生银行、腾讯互娱、蚂蚁集团的技术专家,期待你和我们一起,共同探讨零侵扰可观测性的未来。

图片

   
加入DeepFlow开源社区
体验高度自动化的可观测性新时代




官网链接

https://deepflow.io


GitHub 地址

https://github.com/deepflowio/deepflow

往期推荐:





清华大学&云杉网络·技术论坛“以网络为中心的零侵扰可观测性” 开启报名啦!


DeepFlow 正式亮相 ACM SIGCOMM 2023


eBPF 是实现可观测性的关键技术

关于 DeepFlow


DeepFlow 开源项目旨在为复杂的云原生应用提供深度可观测性。DeepFlow 基于 eBPF 实现了零插桩(Zero Code)、全覆盖(Full Stack)的指标、追踪、日志采集,并通过智能标签技术实现了所有观测数据的全关联(Universal Tagging)和高效存取。使用 DeepFlow,可以让云原生应用自动具有深度可观测性,从而消除开发者不断插桩的沉重负担,并为 DevOps/SRE 团队提供从代码到基础设施的监控及诊断能力。


DeepFlow 企业版自2016年起已在中国移动、中国联通、中国电信、国家电网、招商银行、民生银行、光大银行、中国人保财险、平安科技、兴业数金、国泰君安、海通证券、上汽集团、深航货运、东方明珠、中保信等超过50家企业级数据中心落地部署,帮助客户构建多维度、一体化的可观测性平台。




图片

DeepFlow · 目录
上一篇倒计时 3 天!可观测性 Meetup · 广州站分享内容详情早知道 !下一篇微拍堂基于 DeepFlow 建设零侵扰的可观测平台
继续滑动看下一个
DeepFlow
向上滑动看下一个