可观测性数据的获取方法、装置、终端设备及存储介质制造方法及图纸

技术编号:37467169 阅读:12 留言:0更新日期:2023-05-06 09:42
本申请公开了可观测性数据的获取方法、装置、终端设备和存储介质,包括:在检测到与待观测的应用程序软件对应的可观测性数据的情况下,通过eBPF数据接口获取待采集的可观测性数据;若可观测性数据为完整数据,通过WASM数据接口将可观测性数据保存在共享内存中;通过WASM数据接口,从共享内存中获取可观测性数据,并对可观测性数据进行处理;若处理后的可观测性数据满足预设结构化格式,则将处理后的可观测性数据存入数据库,其中,eBPF数据接口、WASM数据接口为非侵入式可观测性数据采集的接口,通过本申请实施例,无须改动观测对象软件的代码,即可采集可观测性数据,并可以高效地从内核中直接抽取可观测性数据。地从内核中直接抽取可观测性数据。地从内核中直接抽取可观测性数据。

【技术实现步骤摘要】
可观测性数据的获取方法、装置、终端设备及存储介质


[0001]本申请属于计算机
,尤其涉及一种可观测性数据的获取方法、装置、终端设备及存储介质。

技术介绍

[0002]随着计算机技术的快速发展,应用软件架构经过单体架构、分布式架构,面向服务架构(SOA)、微服务架构发展,在云计算、容器、网络等技术的支撑下,更多企业的新一代应用都开始选择使用微服务架构。微服务架构应用在具备快速满足业务功能、降低开发难度、增加容错度、服务间松耦合、弹性扩展、提高生产效率等优势。同时,微服务架构应用也面临服务发现、限流、权限、版本管理等挑战,微服务的可观测性是其中重要挑战之一。
[0003]传统针对微服务应用的服务监控主要采用在业务代码中埋点方案,方案是针对不同语言推出不同的APM agent,但是有些开发语言如Go和C语言很难做到自动化插裝,只能提供SDK包以便人工插裝,需要通过开发人员在业务代码中手动埋点监控代码。另外每个语言特性不一致,导致不同语言探针采集的数据集很难一致,对后端的整合分析带来更大的压力,用户体验也不一致。会出现某种语言有某些指标,而另外语言可能就缺失了这部分的指标。所以传统埋点方案监控微服务应用会造成业务功能迭代变慢、引入安全风险、业务性能降级等问题。引发传统方案不足的重要原因是埋点监控代码和业务代码耦合在一起造成的。
[0004]例如,DataDog是最成功的可观测性平台产品之一,使用DataDog需要在被观测软件的代码中植入数据采集代码(简称埋点代码),埋点代码在执行过程中读取被观测软件的内部数据,并将其转化为结构化的数据,包括日志(Logs)、指标(Metrics)、追踪记录(Traces)。由于埋点代码直接影响被观测软件的业务代码,编写埋点代码需要经历完整的业务代码研发周期(设计、编码、测试、发布、部署等),通常需要几个月的时间,消耗软件工程师大量宝贵的研发时间。
[0005]现有技术中,采用以代码改动为核心的侵入式的数据采集技术架构,来获取待观测数据,这种技术模式要求工程师为所观测的软件系统编写数据采集代码,需要消耗更多的业务研发时间,增加了软件研发、维护的成本。

技术实现思路

[0006]本申请意在提供一种可观测性数据的获取方法、装置、终端设备和存储介质,以解决现有技术中存在的不足,本申请要解决的技术问题通过以下技术方案来实现。
[0007]第一个方面,本申请实施例提供一种可观测性数据的获取方法,所述方法包括:
[0008]在检测到与待观测的应用程序软件对应的可观测性数据的情况下,通过eBPF数据接口获取待采集的所述可观测性数据;
[0009]若所述可观测性数据为完整数据,通过WASM数据接口将所述可观测性数据保存在共享内存中;
[0010]通过所述WASM数据接口,从所述共享内存中获取所述可观测性数据,并对所述可观测性数据进行处理;
[0011]若处理后的可观测性数据满足预设结构化格式,则将所述处理后的可观测性数据存入数据库。
[0012]可选地,在所述通过eBPF数据接口获取所述待可观测性数据之前,所述方法还包括:
[0013]判断eBPF缓存空间的占用率;
[0014]根据所述eBPF缓存空间的占用率,调整轮询时间。
[0015]可选地,所述若所述可观测性数据为完整数据,通过WASM数据接口将所述可观测性数据保存在共享内存中,包括:
[0016]采用数据解析算法对所述可观测性数据中的关键字进行判断;
[0017]若所述可观测性数据中的关键字数据格式符合关键字预设格式,则通过WASM数据接口将所述可观测性数据保存在共享内存中。
[0018]可选地,所述方法还包括:
[0019]若可观测性数据中的关键字的数据格式不符合所述关键字预设格式,则记录不符合所述关键字预设格式的可观测性数据的缺失信息。
[0020]可选地,所述通过所述WASM数据接口,从所述共享内存中获取所述可观测性数据,并对所述可观测性数据进行处理,包括:
[0021]对所述可观测性数据进行序列化和逆序列化处理,标识所述可观测性数据在所述共享内存内的相对位置,得到排序后的可观测性数据。
[0022]第二个方面,本申请实施例提供一种可观测性数据的获取装置,所述装置包括:
[0023]获取模块,用于在检测到与待观测的应用程序软件对应的可观测性数据的情况下,通过eBPF数据接口获取待采集的所述可观测性数据;
[0024]保存模块,用于若所述可观测性数据为完整数据,通过WASM数据接口将所述可观测性数据保存在共享内存中;
[0025]处理模块,用于通过所述WASM数据接口,从所述共享内存中获取所述可观测性数据,并对所述可观测性数据进行处理;
[0026]存储模块,用于若处理后的可观测性数据满足预设结构化格式,则将所述处理后的可观测性数据存入数据库。
[0027]可选地,所述获取模块用于:
[0028]判断eBPF缓存空间的占用率;
[0029]根据所述eBPF缓存空间的占用率,调整轮询时间。
[0030]可选地,所述保存模块用于:
[0031]采用数据解析算法对所述可观测性数据中的关键字进行判断;
[0032]若所述可观测性数据中的关键字数据格式符合关键字预设格式,则通过WASM数据接口将所述可观测性数据保存在共享内存中。
[0033]可选地,所述保存模块还用于:
[0034]若可观测性数据中的关键字的数据格式不符合所述关键字预设格式,则记录不符合所述关键字预设格式的可观测性数据的缺失信息。
[0035]可选地,所述处理模块用于:
[0036]对所述可观测性数据进行序列化和逆序列化处理,标识所述可观测性数据在所述共享内存内的相对位置,得到排序后的可观测性数据。
[0037]第三个方面,本申请实施例提供一种终端设备,包括:至少一个处理器和存储器;
[0038]所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的可观测性数据的获取方法。
[0039]第四个方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的可观测性数据的获取方法。
[0040]本申请实施例包括以下优点:
[0041]本申请实施例提供的可观测性数据的获取方法、装置、终端设备和存储介质,通过在检测到与待观测的应用程序软件对应的可观测性数据的情况下,通过eBPF数据接口获取待采集的所述可观测性数据;若可观测性数据为完整数据,通过WASM数据接口将可观测性数据保存在共享内存中;通过WASM数据接口,从共享内存中获取可观测性数据,并对可观测性数据进行处理;若处理后的可观测性数据满足预设结构化格式,则将处理后的可观测性数据存入数据库,本申请实施例中提供的eBPF数据接口、WASM数据接口为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可观测性数据的获取方法,其特征在于,所述方法包括:在检测到与待观测的应用程序软件对应的可观测性数据的情况下,通过eBPF数据接口获取待采集的所述可观测性数据;若所述可观测性数据为完整数据,通过WASM数据接口将所述可观测性数据保存在共享内存中;通过所述WASM数据接口,从所述共享内存中获取所述可观测性数据,并对所述可观测性数据进行处理;若处理后的可观测性数据满足预设结构化格式,则将所述处理后的可观测性数据存入数据库。2.根据权利要求1所述的可观测性数据的获取方法,其特征在于,在所述通过eBPF数据接口获取所述待可观测性数据之前,所述方法还包括:判断eBPF缓存空间的占用率;根据所述eBPF缓存空间的占用率,调整轮询时间。3.根据权利要求1所述的可观测性数据的获取方法,其特征在于,所述若所述可观测性数据为完整数据,通过WASM数据接口将所述可观测性数据保存在共享内存中,包括:采用数据解析算法对所述可观测性数据中的关键字进行判断;若所述可观测性数据中的关键字数据格式符合关键字预设格式,则通过WASM数据接口将所述可观测性数据保存在共享内存中。4.根据权利要求3所述的可观测性数据的获取方法,其特征在于,所述方法还包括:若可观测性数据中的关键字的数据格式不符合所述关键字预设格式,则记录不符合所述关键字预设格式的可观测性数据的缺失信息。5.根据权利要求1所述的可观测性数据的获取方法,其特征在于,所述通过所述WASM数据接口,从所述共享内存中获取所述可观测性数据,并对所述可观测性数据进行处理,包括:对所述可观测性数据进行序列化和逆序列化处理,标识所述可观测性...

【专利技术属性】
技术研发人员:赵亚雄
申请(专利权)人:三度观测云北京科技有限责任公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1