新闻动态
新闻动态 基于eBPF的无侵入应用链路拓扑发现探索与实践
基于eBPF的无侵入应用链路拓扑发现探索与实践
2023-10-27 10:33:03 作者:广通优云

随着云原生时代的全面来临,微服务、容器、不可变基础设施和申明式API等新技术在业务应用大规模使用,使得业务应用出现了微服务众多、异构语言开发、多通信协议等明显特征,业务应用间调用链路日益复杂,链路信息瞬息万变,传统维护方式已经无法适应,但业务链路在日常业务维护、故障范围界定以及故障根因分析等方面处于至关重要的地位。

传统链路发现面临“痛点”

应用拓扑通常需按服务、按应用、按实例等不同维度展示节点,节点之间连线代表访问关系。在云原生时代,云基础设施、微服务拆分以及服务治理等新的技术大规模使用带来了很多挑战,导致绘制应用拓扑变的非常艰难。传统的解决方案大致有以下两种:

手工维护

纯人工梳理服务与服务之间的访问关系,在容器化环境中访问关系的多变以及不确定性导致手工维护数据时效性难以满足运维要求;

埋点插码

通过字节码注入等技术,客户应用虽无需修改代码,但应用需重新发布或重启应用,对业务本身连续性存在干扰,同时各种新奇的语言、框架给插码存在不小挑战,SDK升级也是个痛苦的过程,升级意味着客户应用会因为采集需求而重启,也带来了潜在危险。


UYUN优云链路发现“另辟蹊径”

一、UYUN优云在链路发现的技术实践

为解决传统链路发现手工维护时效性低和埋点插码业务连续性干扰等问题,优云基于业内火热的eBPF技术完成无侵入应用链路拓扑发现能力,能实时、全面准确绘制应用拓扑,给客户提供统一的视图。基于eBPF技术本身的特性:无需业务改代码、无需服务修改启动参数且与编程语言无关、无需重启服务进程,通过一种非侵入性、安全且跨系统一致的方式收集、采集数据,能够全面覆盖云基础设施和云原生应用的整个技术栈。

1)内核事件采集:采集不同网络环境下的网络通信报文、高资源消耗系统调用、异常卡死系统调用、用户态和内核态资源使用情况。

2)数据分类聚合:对采集数据进行聚合,对相同网络请求在一定间隔内进行数据压制,避免数据洪峰。结合上下文信息对网络请求事件、系统调用事件进行内容丰富。

3)数据关联分析:对采集信息结合CMDB数据进行数据进一步丰富,按照不同维度进行指标聚合计算,结合告警规则实现异常告警,对网络数据集合CMDB信息实现应用拓扑自动绘制。

4)数据消费展示:基于内核事件采集、数据分类聚合和数据关联分析的入库数据,构建面向用户的应用图谱,具备丰富的系统调用指标、网络性能指标关联查询能力以及异常事件告警能力。

二、UYUN优云链路发现具备以下优点

经过打磨实践,UYUN优云链路发现能够在保障业务不间断稳定运行的情况下,实现较低成本的链路数据高效采集,有效保障了应用链路发现的高效性、稳定性、业务连贯性。

1)无侵入性:通过旁路方式,不需要对应用代码进行埋点即可采集到所需链路数据,避免采集系统和业务系统之间的耦合。

2)语言无关基于内核层面进行数据采集,支持任意开发语言和任意框架。

3)高效采集:基于eBPF技术以极低的消耗采集所需链路数据,并自动丰富进程信息、容器信息等应用相关标识信息。

4)安全稳定: 程序通过BPF验证器(Verifier)会保证每个程序能够安全运行,它会去检查将要运行到内核空间的程序的每一行是否安全可靠,从而避免恶意程序的运行。


UYUN优云链路发现的场景应用

一、无侵入链路发现绘制全景应用拓扑

优云链路发现在采集侧通过监听内核时间实现应用间网络请求,解析获取链路、应用进程信息或容器相关信息;服务侧根据采集侧上报的链路数据同时结合CMDB中应用、服务相关信息,构建全景应用链路拓扑。 

图片

二、一体化链路追踪让问题无处遁形

优云链路发现通过对采集到的网络原始数据进行协议解析,获取相关请求的状态码、耗时等指标信息,将对应拓扑和指标数据组合生成调用链路信息,在原有拓扑基础上丰富链路和指标数据建立应用可观测模型。

图片

同时各种类型的追踪点对运行中的进程进追踪,获取进程内核态和用户态的运行信息,对请求过程进行逐步分解获取接收、处理、回应、耗时以及进程操作上下文相关指标数据,对应用运行过程进行全方位分析,通过链路和单一请求上下文指标进行逐层下钻从而定位到性能、故障的节点和根本原因。

UYUN优云应用链路的落地实践


目前,优云无侵入链路发现已经在某头部用户处成功落地并生产实践,已完成客户现场100+业务系统,云上云下2000+实例节点访问链路的自动绘制,为客户提供了面向业务系统和实例的不同视图,为日常生产运维提供便利,大幅提升了用户运维工作效率。与此同时,优云链路信息采集也作为优云应用监控产品AppTracing链路采集的基础能力,为其链路采集提供准确、可靠的数据来源支撑。

目前,优云应用监控AppTracing已经在多个大型企业中落地实践,为国家某行政机关全国30+套服务业务系统进行了全链路可观测服务监控,通过应用全链路监控应用的整个生命周期,及时发现定位各业务涉及到业务中断、技术异常、数据异常、业务超时等问题,并通过汇总一屏实时展示全国业务服务质量,真正的实现从IT运维走向IT运营,先于用户感知问题、定位问题、解决问题,为全国企业用户提供了良好的服务保障。


未来展望

随着 eBPF 技术的应用场景被不断挖掘,业界涌现的各类产品已经覆盖安全、跟踪与性能分析、观测与监控等众多领域。

不局限于应用链路拓扑发现模块,未来,广通优云将继续深入推进eBPF技术研究工作,积极探索云原生时代下,可观测领域的最佳实践,基于现有链路拓扑发现的阶段性成果,不断完善协议解析、指标采集等能力,从而实现全链路指标和链路数据的采集,降低云原生可观测运维难度,为用户提供业务全面可观测的能力。

返回列表
回到顶部