一种数据获取方法、装置和电子设备制造方法及图纸

技术编号:37995031 阅读:7 留言:0更新日期:2023-06-30 10:09
本申请实施例公开了一种数据获取方法、装置和电子设备,其中,所述数据获取方法包括:获取监控信息;对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址;将所述eBPF存储地址发送至数据获取模块;所述eBPF存储地址用于指示所述数据获取模块获取相应的内核态目标数据。态目标数据。态目标数据。

【技术实现步骤摘要】
一种数据获取方法、装置和电子设备


[0001]本申请涉及计算机
,尤其涉及一种数据获取方法、装置和电子设备。

技术介绍

[0002]在运维工作中,需要全方位的进行数据的采集与上报,从而实时掌握整个系统的运行状态以及各个层级资源的性能指标。通常的做法是在节点或虚拟机中部署客户端去采集数据,然后统一上报或拉取,最后转存至中心数据库中。
[0003]然而,这样虽然可以获取到相关数据,但是部署的客户端在一定程度上存在包括CPU、内存、网络资源的消耗,而且与目标节点上运行的应用造成资源竞争,会对应用本身的正常运行与性能造成影响。且部署客户端的方式存在监控盲点,仅仅可以采集操作系统内核主动暴露的数据指标,对于执行时间比监控程序的采样间隔短的程序或者数据指标将不会被检测到,如果增加采样频率又会进一步增加开销而影响系统性能。最重要的是,部署客户端的方式进行数据采集,需要内核态到用户态,再从用户态到内核态的频繁数据访问与拷贝,极大增加了资源占用率,影响了监控数据的上报效率。

技术实现思路

[0004]本申请实施例期望提供一种数据获取方法、装置和电子设备。
[0005]本申请的技术方案是这样实现的:
[0006]本申请第一方面的实施例提供一种数据获取方法,包括:
[0007]获取监控信息;
[0008]对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址;
[0009]将所述eBPF存储地址发送至数据获取模块;所述eBPF存储地址用于指示所述数据获取模块获取相应的内核态目标数据。
[0010]可选地,所述获取监控信息,包括:
[0011]基于运行节点内的至少一个跟踪点上的eBPF程序获取所述运行节点的内核运行时的监控信息。
[0012]可选地,所述监控信息包括文件描述符;所述对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址,包括:
[0013]对所述监控信息进行分析,获取第一文件描述符;
[0014]基于所述第一文件描述符获取与当前运行进程相关的所述eBPF存储地址。
[0015]可选地,在所述对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址之前,所述方法包括:
[0016]接收并存储用户态访问模块访问各个所述eBPF存储地址的文件描述符;
[0017]创建所述文件描述符与至少一个所述eBPF存储地址的映射集合。
[0018]可选地,所述基于所述第一文件描述符获取与当前运行进程相关的所述eBPF存储地址,包括:
[0019]基于所述第一文件描述符查询所述映射集合,获取与所述第一文件描述符对应的所述eBPF存储地址。
[0020]可选地,一个所述文件描述符与至少一个所述eBPF存储地址对应。
[0021]可选地,所述将所述eBPF存储地址发送至数据获取模块,包括:
[0022]将与当前运行进程相关的一个或多个eBPF存储地址发送至数据获取模块。
[0023]可选地,一个所述eBPF存储地址对应至少一个eBPF存储空间。
[0024]本申请的第二方面的实施例提供一种数据获取装置,包括:数据监控模块、数据获取模块、数据发送模块和数据删除模块,其中,
[0025]所述数据监控模块,用于获取监控信息;对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址;将所述eBPF存储地址发送至数据获取模块;所述eBPF存储地址用于指示所述数据获取模块获取相应的内核态目标数据;
[0026]所述数据获取模块,用于接收eBPF存储地址,基于所述eBPF存储地址获取相应的内核态目标数据,并将所述内核态目标数据发送至数据发送模块;
[0027]所述数据发送模块,用于接收所述内核态目标数据,并将所述内核态目标数据发送至持久化存储集群中;
[0028]所述数据删除模块,用于在所述内核态目标数据存储至所述持久化存储集群后,将所述内核态目标数据从所述eBPF存储地址对应的存储空间中删除。
[0029]本申请的第三方面的实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,所述处理器执行第一方面所述方法的步骤。
[0030]本申请实施例提供的一种数据获取方法、装置和电子设备,其中,所述数据获取方法包括:获取监控信息;对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址;将所述eBPF存储地址发送至数据获取模块;所述eBPF存储地址用于指示所述数据获取模块获取相应的内核态目标数据。采用本申请的技术方案,通过触发机制,获取与当前运行进程相关的eBPF存储地址,进而基于eBPF存储地址获取相应的内核态目标数据,在准确获取目标数据的同时,极大的减少了系统开销,降低对应用服务本身的影响,提升应用服务性能,另外,由于目标数据始终保持内核态传输,避免了目标数据从内核态到用户态之间的转换,提高了监控数据的上报效率。
附图说明
[0031]图1为本申请实施例提供的一种数据获取方法的流程示意图;
[0032]图2为本申请实施例提供的一种数据获取装置的结构示意图;
[0033]图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0034]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0035]此外,附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0036]附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
[0037]在此使用的术语的目的仅在于描述具体实施例并且不作为本申请的限制。在此使用时,单数形式的“一”、“一个”和“所述/该”也意图包括复数形式,除非上下文清楚指出另外的方式。还应明白术语“组成”和/或“包括”,当在该说明书中使用时,确定所述特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或更多其它的特征、整数、步骤、操作、元件、部件和/或组的存在或添加。在此使用时,术语“和/或”包括相关所列项目的任何及所有组合。
[0038]eBPF,全称扩展的伯克利数据包过滤器(Extended Berkeley Packet Filter),是一种可以在Linux本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据获取方法,包括:获取监控信息;对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址;将所述eBPF存储地址发送至数据获取模块;所述eBPF存储地址用于指示所述数据获取模块获取相应的内核态目标数据。2.根据权利要求1所述的数据获取方法,所述获取监控信息,包括:基于运行节点内的至少一个跟踪点上的eBPF程序获取所述运行节点的内核运行时的监控信息。3.根据权利要求1所述的数据获取方法,所述监控信息包括文件描述符;所述对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址,包括:对所述监控信息进行分析,获取第一文件描述符;基于所述第一文件描述符获取与当前运行进程相关的所述eBPF存储地址。4.根据权利要求3所述的数据获取方法,在所述对所述监控信息进行分析,获取与当前运行进程相关的eBPF存储地址之前,所述方法包括:接收并存储用户态访问模块访问各个所述eBPF存储地址的文件描述符;创建所述文件描述符与至少一个所述eBPF存储地址的映射集合。5.根据权利要求4所述的数据获取方法,所述基于所述第一文件描述符获取与当前运行进程相关的所述eBPF存储地址,包括:基于所述第一文件描述符查询所述映射集合,获取与所述第一文件描述符对应的所述eBPF存储地址。6.根据权利要求4所述的数据获取方法,一个所述文件描述...

【专利技术属性】
技术研发人员:韩晓磊张剑鸣
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1