CN115981754A - 一种应用和组件间调用关系的建立方法、装置和电子设备 - Google Patents

一种应用和组件间调用关系的建立方法、装置和电子设备 Download PDF

Info

Publication number
CN115981754A
CN115981754A CN202211733489.4A CN202211733489A CN115981754A CN 115981754 A CN115981754 A CN 115981754A CN 202211733489 A CN202211733489 A CN 202211733489A CN 115981754 A CN115981754 A CN 115981754A
Authority
CN
China
Prior art keywords
target
network data
kernel network
application
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211733489.4A
Other languages
English (en)
Inventor
王洪光
左悦
丁丰
马景明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202211733489.4A priority Critical patent/CN115981754A/zh
Publication of CN115981754A publication Critical patent/CN115981754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种应用和组件间调用关系的建立方法、装置和电子设备,该方法包括:采集物理主机的内核网络数据;对内核网络数据进行IP和端口分析,对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。通过本发明实施例,实现了通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。

Description

一种应用和组件间调用关系的建立方法、装置和电子设备
技术领域
本发明涉及数据处理的技术领域,特别是涉及一种应用和组件间调用关系的建立方法、装置和电子设备。
背景技术
随着云原生和分布式技术的发展和广泛应用,技术架构逐渐向微服务化演进,云上云下应用服务逐渐丰富和深化,云上云下底层的分布式组件和基础设施更加多样化,也越来越动态化和复杂化,导致运维复杂度增加。
目前,为了记录下应用服务和组件调用拓扑的关系,可以通过人工记录的方式进行,但是,这种方法记录的应用服务和组件调用拓扑的关系存在记录不全,工作量大,延时大,粒度粗的问题。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种应用和组件间调用关系的建立方法、装置和电子设备,包括:
一种应用和组件间调用关系的建立方法,所述方法包括:
采集物理主机的内核网络数据;
对所述内核网络数据进行IP和端口分析,对所述内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;
确定与所述第一目标服务IP对应的第一目标应用,和与所述目标端口对应的目标组件;
建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中。
可选地,所述方法还包括:
对所述内核网络数据进行参数分析,以确定目标参数信息;
根据所述目标参数信息,对所述内核网络数据进行分类;
将所述内核网络数据的分类的信息存入所述配置管理数据库中。
可选地,所述方法还包括:
从所述配置管理数据库中,调取所述内核网络数据的分类的信息,以及所述目标组件和所述第一目标应用的调用关系;
展示所述分类的信息和所述调用关系。
可选地,在对所述内核网络数据进行参数分析后,所述方法还包括:
将参数分析后的内核网络数据存至一临时数据库中;
所述对所述内核网络数据进行IP和端口分析,包括:
从所述临时数据库中获取所述参数分析后的内核网络数据,并对所述参数分析后的内核网络数据进行IP和端口分析。
可选地,所述方法还包括:
对所述内核网络数据进行IP和端口分析,以确定一第二目标服务IP和一第三目标服务IP;
从预设的配置管理数据库中,确定与所述第二目标服务IP对应的第二目标应用,和与所述第三目标服务IP对应的第三目标应用;
建立所述第二目标应用和所述第三目标应用的访问关系,并将所述访问关系存入所述配置管理数据库中。
可选地,所述建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中,包括:
对所述目标组件和所述第一目标应用设置目标标识信息;
将所述目标标识信息存入所述配置管理数据库中。
可选地,所述采集物理主机的内核网络数据,包括:
生成一用于采集内核网络数据的扩展的伯克利包过滤器eBPF对象文件;
通过eBPF loader将所述eBPF对象文件加载到Linux内核中;所述eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据。
本发明实施例还提供了一种应用和组件间调用关系的建立装置,所述装置包括:
采集模块,用于采集物理主机的内核网络数据;
第一分析模块,用于对所述内核网络数据进行IP和端口分析,对所述内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;
确定模块,用于确定与所述第一目标服务IP对应的第一目标应用,和与所述目标端口对应的目标组件;
建立关系模块,用于建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中。
可选地,所述装置还包括:
第二分析模块,用于对所述内核网络数据进行参数分析,以确定目标参数信息;根据所述目标参数信息,对所述内核网络数据进行分类;将所述内核网络数据的分类的信息存入所述配置管理数据库中。
可选地,所述装置还包括:
展示模块,用于从所述配置管理数据库中,调取所述内核网络数据的分类的信息,以及所述目标组件和所述第一目标应用的调用关系;展示所述分类的信息和所述调用关系。
可选地,所述装置还包括:
缓存模块,用于在对所述内核网络数据进行参数分析后,将参数分析后的内核网络数据存至一临时数据库中;
所述第一分析模块,用于从所述临时数据库中获取所述参数分析后的内核网络数据,并对所述参数分析后的内核网络数据进行IP和端口分析。
可选地,所述装置还包括:
第三分析模块,用于对所述内核网络数据进行IP和端口分析,以确定一第二目标服务IP和一第三目标服务IP;从预设的配置管理数据库中,确定与所述第二目标服务IP对应的第二目标应用,和与所述第三目标服务IP对应的第三目标应用;建立所述第二目标应用和所述第三目标应用的访问关系,并将所述访问关系存入所述配置管理数据库中。
可选地,所述建立关系模块,用于对所述目标组件和所述第一目标应用设置目标标识信息;将所述目标标识信息存入所述配置管理数据库中。
可选地,所述采集模块,用于生成一用于采集内核网络数据的eBPF对象文件;通过eBPF loader将所述eBPF对象文件加载到Linux内核中;所述eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据。
本发明实施例还提供了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上的应用和组件间调用关系的建立方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上的应用和组件间调用关系的建立方法。
本发明实施例具有以下优点:
本发明实施例中,采集物理主机的内核网络数据;对内核网络数据进行IP和端口分析,对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。通过本发明实施例,实现了通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种应用和组件间调用关系的建立方法的步骤流程图;
图2是本发明实施例的另一种应用和组件间调用关系的建立方法的步骤流程图;
图3是本发明实施例的建立应用和组件之间调用关系步骤流程图;
图4是本发明实施例的应用场景的示意图;
图5是本发明实施例的一种应用和组件间调用关系的建立装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细地说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在实际应用中,为了提高记录应用服务和组件调用拓扑的关系存在记录的效率,本发明实施例提供了一种应用和组件间调用关系的建立方法;其通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。
参照图1,示出了本发明实施例的一种应用和组件间调用关系的建立方法的步骤流程图,可以包括如下步骤:
步骤101、采集物理主机的内核网络数据。
在实际应用中,为了确定应用和组件之间的对应关系,可以先抓取物理主机的内核网络中的内核网络数据;其中,内核网络数据可以包括:backlog信息、port和IP(Internetprotocol,互联网协议)信息、网络命名空间信息等,本发明实施例对此不作限制。
步骤102、对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口。
在获取到内部网络数据后。可以从对其进行IP和端口分析,以确定其中所包括的一第一目标服务IP和一目标端口。其中,第一目标服务IP可以与一应用对应,目标端口可以为物理主机上的一端口。
步骤103、确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件。
在确定第一目标服务IP后,可以确定与第一目标服务IP对应的第一目标应用。
与此同时,还可以确定当前与物理主机的目标端口连接的目标组件。
步骤104、建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。
在确定目标组件和第一目标应用后,可以建立目标组件和第一目标应用的调用关系。
在建立目标组件和第一目标应用的调用关系后,可以将该调用关系存在配置管理数据库中,以便后续使用。
本发明实施例中,采集物理主机的内核网络数据;对内核网络数据进行IP和端口分析,对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。通过本发明实施例,实现了通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。
参照图2,示出了本发明实施例的另一种应用和组件间调用关系的建立方法的步骤流程图,可以包括如下步骤:
步骤201、生成一用于采集内核网络数据的eBPF对象文件。
在实际应用中,可以部署GO语言研发的Agent,开启内核数据采集,程序会生成对应的eBPF(extendedBerkeleyPacketFilter,扩展的伯克利包过滤器)工具程序,并且用LLVM(Low LevelVirtualMachine,底层虚拟机)编译eBPF程序,生成一用于采集内核网络数据的eBPF对象文件。
步骤202、通过eBPF loader将eBPF对象文件加载到Linux内核中;eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据。
然后,可以用eBPF loader将eBPF对象文件加载到Linux内核。
eBPF对象文件的eBPF程序就绪后,可以等待事件触发其执行。若存在有数据包到达网络设备时,便触发eBPF程序的执行,从而实现对内核网络数据的采集。
步骤203、对内核网络数据进行参数分析,以确定目标参数信息。
在实际应用中,在得到内核网络数据后,可以先对其进行参数分析,以得到其中的目标参数信息;目标参数信息可以包括backlog信息、port和IP信息、网络命名空间等。
步骤204、根据目标参数信息,对内核网络数据进行分类。
在得到目标参数信息后,可以先基于目标参数信息对内核网络数据进行分类。
具体地,可以进行数据中的协议、访问IP、被访问IP等几个维度的分类。
步骤205、将内核网络数据的分类的信息存入配置管理数据库中。
在得到内核网络数据的分类后,可以将内核网络数据的分类的信息存入配置管理数据库中,以便后续使用。
步骤206、将参数分析后的内核网络数据存至一临时数据库中。
在实际应用中,在对内核网络数据进行参数分析后,可以先将参数分析后的内核网络数据存至一临时数据库中。
步骤207、从临时数据库中获取参数分析后的内核网络数据,并对参数分析后的内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口。
然后,当需要对应用和组件的关系进行分析时,可以从该临时数据库中获取参数分析后的内核网络数据,然后对该数据进行二次分析。
具体地,可以对参数分析后的内核网络数据进行IP和端口分析,以确定一组存在对应关系的第一目标服务IP和目标端口。
步骤208、确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件。
在确定第一目标服务IP后,可以确定与第一目标服务IP对应的第一目标应用。
与此同时,还可以确定当前与物理主机的目标端口连接的目标组件。
步骤209、对目标组件和第一目标应用设置目标标识信息。
在实际应用中,在确定存在调用关系的目标组件和第一目标应用后,可以为目标组件和第一目标应用打上标签;具体的,可以对目标组件和第一目标应用设置一具备确定调用关系的目标标识信息,以便基于该目标标识信息确定目标组件与第一目标应用的调用关系。
步骤210、将目标标识信息存入配置管理数据库中。
在为目标组件和第一目标应用设置目标标识信息后,可以将该目标标识信息存入配置管理数据库中,以便后续可以基于该目标标识信息,确定目标组件是与第一目标应用存在调用关系。
步骤211、从配置管理数据库中,调取内核网络数据的分类的信息,以及目标组件和第一目标应用的调用关系。
在实际应用中,当需要查看分类的信息和调用关系,可以从配置管理数据库中,调取内核网络数据的分类的信息,以及目标组件和第一目标应用的调用关系。
具体的,可以基于所要查看的信息,来获取内核网络数据的分类的信息,以及目标组件和第一目标应用的调用关系。
例如:当需要查看目标组件对应分类的信息,以及与目标组件存在调用关系的应用时,可以输入目标组件的目标标识信息;基于目标标识信息,可以从配置管理数据库中获取到具备目标标识信息的第一目标应用;同时,可以获取到分类的信息。
作为一示例,在将分类的信息存入配置管理数据库的时候,可以建立目标组件或者目标第一目标应用或者目标标识信息,与分类的信息的对应关系;然后,可以基于该对应的关系,来获取当前需要获取的分类的信息。
步骤212、展示分类的信息和调用关系。
在得到分类的信息和调用关系后,可以展示该分类的信息和调用关系,以便用户知晓组件和应用的对应关系,以及对应的类别。
在本发明一实施例中,还可以包括如下步骤:
对内核网络数据进行IP和端口分析,以确定一第二目标服务IP和一第三目标服务IP;从预设的配置管理数据库中,确定与第二目标服务IP对应的第二目标应用,和与第三目标服务IP对应的第三目标应用;建立第二目标应用和第三目标应用的访问关系,并将访问关系存入配置管理数据库中。
在实际应用中,组件和应用之间可以存在对应关系,应用和应用之间也可能存在对应关系;在对内核网络数据进行IP和端口分析的时候,如果确定得到了一第二目标服务IP和一第三目标服务IP的话,可以表示该内核网络数据实际上是两个应用之间的交互数据。
此时,可以先从预设的配置管理数据库中,查找与第二目标服务IP对应的第二目标应用;同时,可以从预设的配置管理数据库中,查找与第三目标服务IP对应的第三目标应用。
然后,可以建立第二目标应用和第三目标应用之间的访问关系,并将该访问关系存储在配置管理数据库中,以便后续的查看和使用。
作为一示例,在展示分类的信息和调用关系时,还可以获取访问关系,并展示访问关系,本发明实施例对此不作限制。
如图3,示出了本发明实施例的建立应用和组件之间调用关系步骤流程图:
S1、Agent下发eBPF工具:部署GO语言研发的Agent,开启内核数据采集,程序会生成对应的eBPF工具程序,并且用LLVM编译eBPF程序,生成eBPF对象文件。
S2、eBPF加载到内核:用eBPF loader将对象文件加载到Linux内核。
S3、eBPF收集数据:eBPF程序就绪,等待事件触发其执行。若存在有数据包到达网络设备时,便触发eBPF程序的执行。
S4、解析:将获取到内核网络数据的解析出backlog信息、port(计算机端口)和IP信息、网络命名空间等信息。
S5、推送:将解析出的数据结果,打包并实时推送送到消息中间件服务器(Kafka)。
S6、数据规整:对获取到的网络数据包信息按时间序列进行数据规整处理,使数据点之间具有时序的先后顺序,便于后续的处理。
S7、分类:在一定的时间窗口对数据进行预聚合完成网络包数据中的协议、访问IP,被访问IP等几个维度归类。
S8、关系挖掘:按照预置实时分析规则,判断CMDB(Configuration ManagementDatabase,配置管理数据库)中存储的组件的服务IP和端口根据数据中的IP端口,从映射关系中找出对应关系,并打上标签,并且将最终分析出来的应用和组件间或者组件和组件间的关系数据。
具体的:
步骤1、在云环境中运行应用服务的容器宿主机或者所有运行分布式组件的主机上部署Agent产品包,可通过界面进行一键根据环境自动安装部署。
步骤2、部署数据接收服务消息中间件Kafka,并打通其余Agent端的网络。
步骤3、部署服务端的数据清洗服务和数据分析服务。
步骤4、部署相应的CMDB模块和PinPoint模块,并且按照要求手工或者用外部采集推送的方式将环境中所有的分布式组件都录入到CMDB中去,并确保实例中正确地填写其对应的服务IP和端口信息。同时现有的PinPoint处理模块会自动地将ppagent收集到的应用服务和系统之间的关系和实体自动采集并汇聚到CMDB中。
步骤5、部署的Agent会自动将ebpf的工具包自动加载到主机的内核空间,并且监听当前主机上的所有网卡接口,并以事件驱动的方式收集流过网卡的所有IP包信息。
步骤6、Agent端会将收集到的IP包数据进行解析,解析出backlog信息、port和IP信息、网络命名空间等信息。
步骤7、Agent将解析出的网络信息按照预先规范好的数据格式进行拼接组合并且打包压缩后统一发送到消息中间件Kafka中。
步骤8、服务端的数据清洗服务会按时间序列进行数据规整处理。
步骤9、数据清洗服务将数据进行格式解析并且按时间序列数据的特征在一定的时间窗口对数据进行预聚合完成网络包数据中的协议、访问IP,被访问IP等几个维度归类。
步骤10、根据归类后的数据,通过K8s的实时的接口获取dempoment和IP、端口间的关系数据,并且进行和CMDB中的应用进行关联操作,补齐pinpoint获取不全的应用服务的数据。
步骤11、根据预置实时分析规则,判断CMDB中存储的组件的服务IP和端口,根据数据中的IP端口,从映射关系中找出对应关系,并打上标签,并且将最终分析出来的应用和组件间或者组件和组件间的关系数据。
从而,利用ebpf工具捕获运行于应用服务和分布式组件所在的主机上的所有三层以上的网络模型IP数据,用于分析挖掘出应用服务和组件的调用关系拓扑。且利用数据特征分类的方法进行按时间序列数据的特征在一定的时间窗口对数据进行预聚合完成网络包数据中的协议、访问IP,被访问IP等几个维度归类。
如图4,示出了本发明实施例的应用场景的示意图:
数据采集模块可以针对物理主机采集内核网络数据;内核网络数据可以是应用和组件在进行数据交互的过程中产生的。应用可以包括app1、app2、app3......。组件可以包括Elasticsea、KeepAlive、Nqinx......。
数据采集模块在采集到内核网络数据后,可以先存储至Kafka;然后,数据清洗模块可以从Kafka读取数据,并清洗解析报文,然后提取应用服务实体记录,并提取应用关系数据。
在对数据进行清洗后,可以将数据存入临时库中;数据分析处理模块可以从临时库中获取数据,并提取服务和目标组件或者组件实例间关系,并存入CMDB中。
其中,数据采集模块:对目标应用服务和组件运行的物理主机进行部署并进行实时的内核网络数据的包括抓取backlog信息、port和IP信息、网络命名空间信息等,获取与分布式组件通讯的TCP(Transmission Control Protocol,传输控制协议)和UDP(UserDatagram Protocol,用户数据报协议)会话信息进行实时推送到消息中间件中。
数据清洗模块:根据采集模块推送的数据进行数据包按时间序列数据的特征在一定的时间窗口对数据进行预聚合完成网络包数据中的协议、访问IP,被访问IP等几个维度归类,并按k8s服务的部署类型提取出应用服务和应用服务之间的访问关系数据汇聚到CMDB中,将其余访问关系(例如:应用与应用之间的访问关系)数据存储到临时库中。
数据分析处理模块:按照数据清洗模块存储在临时库中的数据,进行二次实时分析,按照预置的实时分析规则,判断CMDB中存储的组件的服务IP和端口,根据数据中的IP端口,从映射关系中找出对应关系,并打上标签,并且最终分析出来的应用和组件间或者组件和组件间的关系数据。
本发明实施例中,生成一用于采集内核网络数据的eBPF对象文件;通过eBPFloader将eBPF对象文件加载到Linux内核中;eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据;对内核网络数据进行参数分析,以确定目标参数信息;根据目标参数信息,对内核网络数据进行分类;将内核网络数据的分类的信息存入配置管理数据库中;将参数分析后的内核网络数据存至一临时数据库中;从临时数据库中获取参数分析后的内核网络数据,并对参数分析后的内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;对目标组件和第一目标应用设置目标标识信息;将目标标识信息存入配置管理数据库中;从配置管理数据库中,调取内核网络数据的分类的信息,以及目标组件和第一目标应用的调用关系;展示分类的信息和调用关系。通过本发明实施例,实现了通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。
且采用ebpf技术的运行于Linux内核层,不受限于上层微服务的开发语言特性,通过采集内核层的数据可获取到应用服务和组件链路访问关系数据进行多次分析,结合存储有组件基本信息的CMDB能力,最终自动的清洗出构建完善的用于排障的全链路应用和组件间调用关系追踪拓扑,弥补现有PinPoint无法面对非java应用微服务不支持采集的缺陷。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例的一种应用和组件间调用关系的建立装置的结构示意图,可以包括如下模块:
采集模块501,用于采集物理主机的内核网络数据;
第一分析模块502,用于对内核网络数据进行IP和端口分析,对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;
确定模块503,用于确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;
建立关系模块504,用于建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。
本发明的一个可选实施例中,装置还包括:
第二分析模块,用于对内核网络数据进行参数分析,以确定目标参数信息;根据目标参数信息,对内核网络数据进行分类;将内核网络数据的分类的信息存入配置管理数据库中。
本发明的一个可选实施例中,装置还包括:
展示模块,用于从配置管理数据库中,调取内核网络数据的分类的信息,以及目标组件和第一目标应用的调用关系;展示分类的信息和调用关系。
本发明的一个可选实施例中,装置还包括:
缓存模块,用于在对内核网络数据进行参数分析后,将参数分析后的内核网络数据存至一临时数据库中;
第一分析模块502,用于从临时数据库中获取参数分析后的内核网络数据,并对参数分析后的内核网络数据进行IP和端口分析。
本发明的一个可选实施例中,装置还包括:
第三分析模块,用于对内核网络数据进行IP和端口分析,以确定一第二目标服务IP和一第三目标服务IP;从预设的配置管理数据库中,确定与第二目标服务IP对应的第二目标应用,和与第三目标服务IP对应的第三目标应用;建立第二目标应用和第三目标应用的访问关系,并将访问关系存入配置管理数据库中。
本发明的一个可选实施例中,建立关系模块504,用于对目标组件和第一目标应用设置目标标识信息;将目标标识信息存入配置管理数据库中。
本发明的一个可选实施例中,采集模块501,用于生成一用于采集内核网络数据的eBPF对象文件;通过eBPF loader将eBPF对象文件加载到Linux内核中;eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据
本发明实施例中,采集物理主机的内核网络数据;对内核网络数据进行IP和端口分析,对内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;确定与第一目标服务IP对应的第一目标应用,和与目标端口对应的目标组件;建立目标组件和第一目标应用的调用关系,并将调用关系存入一配置管理数据库中。通过本发明实施例,实现了通过抓取物理主机的内核网络中的内核网络数据来自动建立应用和组件之间的调用关系;从而,不再需要投入大量的人工来进行记录,既提高了记录的效率,也提高了记录的准确性。
本发明实施例还提供了一种电子设备,包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上的应用和组件间调用关系的建立方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上的应用和组件间调用关系的建立方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种应用和组件间调用关系的建立方法、装置和电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种应用和组件间调用关系的建立方法,其特征在于,所述方法包括:
采集物理主机的内核网络数据;
对所述内核网络数据进行IP和端口分析,对所述内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;
确定与所述第一目标服务IP对应的第一目标应用,和与所述目标端口对应的目标组件;
建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述内核网络数据进行参数分析,以确定目标参数信息;
根据所述目标参数信息,对所述内核网络数据进行分类;
将所述内核网络数据的分类的信息存入所述配置管理数据库中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从所述配置管理数据库中,调取所述内核网络数据的分类的信息,以及所述目标组件和所述第一目标应用的调用关系;
展示所述分类的信息和所述调用关系。
4.根据权利要求2所述的方法,其特征在于,在对所述内核网络数据进行参数分析后,所述方法还包括:
将参数分析后的内核网络数据存至一临时数据库中;
所述对所述内核网络数据进行IP和端口分析,包括:
从所述临时数据库中获取所述参数分析后的内核网络数据,并对所述参数分析后的内核网络数据进行IP和端口分析。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述内核网络数据进行IP和端口分析,以确定一第二目标服务IP和一第三目标服务IP;
从预设的配置管理数据库中,确定与所述第二目标服务IP对应的第二目标应用,和与所述第三目标服务IP对应的第三目标应用;
建立所述第二目标应用和所述第三目标应用的访问关系,并将所述访问关系存入所述配置管理数据库中。
6.根据权利要求1所述的方法,其特征在于,所述建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中,包括:
对所述目标组件和所述第一目标应用设置目标标识信息;
将所述目标标识信息存入所述配置管理数据库中。
7.根据权利要求1所述的方法,其特征在于,所述采集物理主机的内核网络数据,包括:
生成一用于采集内核网络数据的扩展的伯克利包过滤器eBPF对象文件;
通过eBPF loader将所述eBPF对象文件加载到Linux内核中;所述eBPF对象文件对应的eBPF程序在检测到数据包达到网络设备时,执行采集内核网络数据。
8.一种应用和组件间调用关系的建立装置,其特征在于,所述装置包括:
采集模块,用于采集物理主机的内核网络数据;
第一分析模块,用于对所述内核网络数据进行IP和端口分析,对所述内核网络数据进行IP和端口分析,以确定一第一目标服务IP和一目标端口;
确定模块,用于确定与所述第一目标服务IP对应的第一目标应用,和与所述目标端口对应的目标组件;
建立关系模块,用于建立所述目标组件和所述第一目标应用的调用关系,并将所述调用关系存入一配置管理数据库中。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述应用和组件间调用关系的建立方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述应用和组件间调用关系的建立方法。
CN202211733489.4A 2022-12-30 2022-12-30 一种应用和组件间调用关系的建立方法、装置和电子设备 Pending CN115981754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211733489.4A CN115981754A (zh) 2022-12-30 2022-12-30 一种应用和组件间调用关系的建立方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211733489.4A CN115981754A (zh) 2022-12-30 2022-12-30 一种应用和组件间调用关系的建立方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN115981754A true CN115981754A (zh) 2023-04-18

Family

ID=85959416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211733489.4A Pending CN115981754A (zh) 2022-12-30 2022-12-30 一种应用和组件间调用关系的建立方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN115981754A (zh)

Similar Documents

Publication Publication Date Title
US9454450B2 (en) Modeling and testing of interactions between components of a software system
CN108400909B (zh) 一种流量统计方法、装置、终端设备和存储介质
US7873594B2 (en) System analysis program, system analysis method, and system analysis apparatus
CN106941493B (zh) 一种网络安全态势感知结果输出方法及装置
WO2020238066A1 (zh) 一种软件的压力测试方法、装置、存储介质和服务器
CN111221699B (zh) 一种资源关联关系发现方法、装置和电子设备
CN112350854B (zh) 一种流量故障定位方法、装置、设备及存储介质
CN105630682A (zh) 移动终端自动收集及分析崩溃的系统和方法
CN108900374B (zh) 一种应用于dpi设备的数据处理方法和装置
US7913233B2 (en) Performance analyzer
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN108632111A (zh) 一种基于日志的服务链路监控方法
US20220147408A1 (en) Automation solutions for event logging and debugging on kubernetes
CN104765689A (zh) 一种接口性能数据实时监制方法和装置
CN109656792A (zh) 基于网络调用日志的应用性能分析方法、装置、计算机设备及存储介质
WO2022127196A1 (zh) 应用识别方法、装置、设备及存储介质
CN114745295A (zh) 数据采集方法、装置、设备和可读存储介质
US10775751B2 (en) Automatic generation of regular expression based on log line data
CN108429747A (zh) 一种大规模Web服务器信息采集方法
Seifermann Application performance monitoring in microservice-based systems
CN116974874A (zh) 数据库的测试方法、装置、电子设备及可读存储介质
CN115981754A (zh) 一种应用和组件间调用关系的建立方法、装置和电子设备
CN110572291A (zh) 面向分布式系统实现架构自动识别功能的系统及其方法
CN116346680A (zh) 基于拓扑嗅探的进程间网络流量追踪控制方法和系统
EP3010194A1 (en) Method of tracing a transaction in a network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination