CN116028360A - 多个应用之间的关系的确定方法及装置 - Google Patents
多个应用之间的关系的确定方法及装置 Download PDFInfo
- Publication number
- CN116028360A CN116028360A CN202211732620.5A CN202211732620A CN116028360A CN 116028360 A CN116028360 A CN 116028360A CN 202211732620 A CN202211732620 A CN 202211732620A CN 116028360 A CN116028360 A CN 116028360A
- Authority
- CN
- China
- Prior art keywords
- logs
- applications
- application
- log
- target
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种多个应用之间的关系的确定方法及装置,该方法包括:响应日志获取请求,通过目标网关获取多个应用的多个日志;按照多个目标日志中包括的每个目标应用的标识信息、每个目标应用与其他目标应用之间的链路连接关系,确定多个应用之间的拓扑关系;在目标显示页面中显示拓扑关系,以从显示的拓扑关系中确定多个应用之间的对应关系。通过本发明,解决了相关技术中在确定应用之间的对应关系影响应用的响应和性能的问题,达到提高确定应用之间的对应关系的效率的效果。
Description
技术领域
本发明实施例涉及计算机领域,具体而言,涉及一种多个应用之间的关系的确定方法及装置。
背景技术
随着微服务应用数量的极速增加,分布式***和微服务架构的出现,应用与应用链路之间的调用关系也变得错综复杂。***出现问题后,由于应用链路过长或过于复杂,无法快速准确定位问题。客户端(例如,浏览器)或者移动端应用报出异常或者错误,也无法确定是哪个应用抛出的异常。某个业务请求非常慢,且总是超时,无法确定***哪个环节存在性能的问题。
目前的实现方法是通过开发人员手动在应用中埋点,但埋点的方式对代码侵入性比较强,会影响应用本身的响应和性能。
发明内容
本发明实施例提供了一种多个应用之间的关系的确定方法及装置,以至少解决相关技术中在确定应用之间的对应关系影响应用的响应和性能的问题。
根据本发明的一个实施例,提供了一种多个应用之间的关系的确定方法,包括:响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个上述应用之间通过链路连接,每个上述日志中包括对应的上述应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;对多个上述日志进行切割和清洗操作,得到多个目标日志;按照多个上述目标日志中包括的每个上述应用的标识信息、每个上述应用与上述其他应用之间的链路连接关系,确定多个上述应用之间的拓扑关系,其中,上述拓扑关系中还包括每个上述应用的数据传输信息;在目标显示页面中显示上述拓扑关系,以从显示的上述拓扑关系中确定多个上述应用之间的对应关系。
根据本发明的另一个实施例,提供了一种多个应用之间的关系的确定装置,包括:第一响应模块,用于响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个上述应用之间通过链路连接,每个上述日志中包括对应的上述应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;第一处理模块,用于对多个上述日志进行切割和清洗操作,得到多个目标日志;第一确定模块,用于按照多个上述目标日志中包括的每个上述应用的标识信息、每个上述应用与上述其他应用之间的链路连接关系,确定多个上述应用之间的拓扑关系,其中,上述拓扑关系中还包括每个上述应用的数据传输信息;第一显示模块,用于在目标显示页面中显示上述拓扑关系,以从显示的上述拓扑关系中确定多个上述应用之间的对应关系。
在一个示例性实施例中,上述第一处理模块,包括:第一读取单元,用于通过消息队列从日志文件中读取多个上述日志,其中,多个上述日志缓存在上述日志文件中;第一分割单元,用于通过开源流处理平台Kafka并按照获取多个上述日志的时间对多个上述日志进行分割,得到多个日志数据包;第一清洗单元,用于通过开源流处理平台Kafka并按照预设清洗条件对每个上述日志数据包中的上述日志进行清洗,得到多个上述目标日志。
在一个示例性实施例中,上述装置还包括:第一存储模块,用于通过开源流处理平台Kafka并按照预设清洗条件对每个上述日志数据包中的上述日志进行清洗,得到多个上述目标日志之后,将多个上述目标日志存储至列式数据库管理***和预设搜索引擎中,其中,上述列式数据库管理***和上述目标显示页面连接,用于将存储的多个上述目标日志显示在上述目标显示页面中,上述预设搜索引擎用于搜索多个上述目标日志。
在一个示例性实施例中,上述第一确定模块,包括:第一提取单元,用于通过前台全链路追踪服务从多个上述目标日志中提取每个上述应用的标识信息、每个上述应用与上述其他应用之间的链路连接关系,以及每个上述应用的数据传输信息;第一回执单元,用于在上述目标显示页面中绘制每个上述应用的图标信息,以及多个上述应用之间的链路连接关系,得到拓扑图;第一显示单元,用于将每个上述应用的数据传输信息显示在上述拓扑图中。
在一个示例性实施例中,上述装置还包括:第一查找模块,用于在目标显示页面中显示上述拓扑关系,以从显示的上述拓扑关系中确定多个上述应用之间的对应关系之后,在从显示的上述拓扑关系中确定应用出现故障的情况下,从上述应用的数据传输信息中查找上述应用的报错日志;第二确定模块,用于从上述报错日志中确定与上述应用出现的故障相关的其他应用。
在一个示例性实施例中,上述第一获取模块,包括:第一接收单元,用于接收客户端发送的上述日志获取请求,其中,上述日志获取请求中包括日志需求类型;第一获取单元,用于通过上述目标网关从多个上述应用产生的日志中获取与上述日志需求类型对应的日志,得到多个上述日志。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,通过获取多个应用的日志,对多个日志进行清洗和切割后,从目标日志中确定多个应用之间的拓扑关系,并在目标显示页面中显示拓扑关系,就可以从显示的拓扑关系中确定多个应用之间的对应关系。并不需要在应用中埋点,也不需要通过探针探测多个应用之间的对应关系。即链路追踪的数据来源于日志,并不需要实时追踪,而为异步追踪,可以较小的影响程序本身响应及性能。因此,可以解决相关技术中在确定应用之间的对应关系影响应用的响应和性能的问题,达到提高确定应用之间的对应关系的效率的效果。
附图说明
图1是本发明实施例的一种多个应用之间的关系的确定方法的移动终端的硬件结构框图;
图2是根据本发明实施例的多个应用之间的关系的确定方法的流程图;
图3是根据本发明实施例的链路追踪平台中的日志处理流程图;
图4是根据本发明实施例的多个应用之间的关系的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
下面对相关技术解释如下:
OpenTracing:是一种分布式***链路跟踪的设计原则、规范、标准。
SEGMENT:用于中间件及缓存的统计及分析。
SPAN:用于记录链路。
STATE:用于请求后的返回状态码。
Clickhouse:是一个完全的列式数据库管理***,允许在运行时创建表和数据库,加载数据和运行查询,而无需重新配置和重新启动服务器,支持线性扩展,简单方便,高可靠性,容错。
Filebeats:轻量型日志采集器。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者在网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像Hadoop一样的日志数据和离线分析***,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种多个应用之间的关系的确定方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的多个应用之间的关系的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种多个应用之间的关系的确定方法,图2是根据本发明实施例的多个应用之间的关系的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个应用之间通过链路连接,每个日志中包括对应的应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;
步骤S204,对多个日志进行切割和清洗操作,得到多个目标日志;
步骤S206,按照多个目标日志中包括的每个应用的标识信息、每个应用与其他应用之间的链路连接关系,确定多个应用之间的拓扑关系,其中,拓扑关系中还包括每个应用的数据传输信息;
步骤S208,在目标显示页面中显示拓扑关系,以从显示的拓扑关系中确定多个应用之间的对应关系。
可选地,上述中的应用包括但不限于是应用程序,例如,购物的应用程序、支付的应用程序。各个应用之间通过链路连接,在对链路进行追踪的过程中,形成应用的全链路追踪。
可选地,目标网关可以是网关设备(例如,路由器),包括各个应用的链路的路由表。
可选地,日志中还包括错误信息(例如,应用之间传输数据时的错误,链路异常等)、调用的应用的类别、发送数据时的请求地址、调用应用的方法、信息的触发时间、数据发送的时间间隔、应用的状态等信息。
可选地,本实施例包括但不限于应用于应用性能监控***APM中的全链路追踪的场景中。例如,每一个应用把错误日志、关键信息的日志都收集起来,按照获取日志的日期或者日志的大小对全链的日志进行分割,分割的目的就是在每次读取的时候,不需要读取全链的日志,只需要读取对应时间段内的日志即可,可以节省读取的时间。日志在分割之后进行清洗,再读取清洗后的日志(即目标日志),将目标日志再存储至数据库中,从数据库调取相应时间段的日志,对相应时间段内应用的链路关系进行诊断。
可选地,拓扑关系可以是拓扑图,其中包括每个应用的标识信息以及连接应用每个应用的标识的链路。应用的标识信息可以是图标,也可以是文字;链路可以用带箭头的线段进行表示。并将错误的日志标注在对应的应用中,这样就可以形成清楚的链路关系,确定出应用之间的连接关系,也可以快速的查找出应用发生错误的位置。
可选地,可以通过网页显示拓扑关系,也可以在手机APP中显示拓扑关系。用户通过在显示页面点击操作,可以查询出任意一个应用的链路,并可以通过拓扑图中的接口在数据库中查询到详细的日志信息,例如,链路经过了哪些服务器,哪些服务器出现过问题,出现问题的时间等。
其中,上述步骤的执行主体可以为终端、服务器、终端或服务器中设置的具体处理器,或者与终端或者服务器相对独立设置的处理器或者处理设备等,但不限于此。
通过上述步骤,通过获取多个应用的日志,对多个日志进行清洗和切割后,从目标日志中确定多个应用之间的拓扑关系,并在目标显示页面中显示拓扑关系,就可以从显示的拓扑关系中确定多个应用之间的对应关系。并不需要在应用中埋点,也不需要通过探针探测多个应用之间的对应关系。即链路追踪的数据来源于日志,并不需要实时追踪,而为异步追踪,可以较小的影响程序本身响应及性能。因此,可以解决相关技术中在确定应用之间的对应关系影响应用的响应和性能的问题,达到提高确定应用之间的对应关系的效率的效果。
在一个示例性实施例中,对多个日志进行切割和清洗操作,得到多个目标日志,包括:通过消息队列从日志文件中读取多个日志,其中,多个日志缓存在日志文件中;通过开源流处理平台Kafka并按照获取多个日志的时间对多个日志进行分割,得到多个日志数据包;通过开源流处理平台Kafka并按照预设清洗条件对每个日志数据包中的日志进行清洗,得到多个目标日志。在本实施例中,切割的方式不做限定,切割的条件可以是获取日志的时间,也可以是日志的类型,或者是日志的大小等,在此不做限定。清洗包括对日志进行去重,过滤掉有异常的日志等。本实施例通过对日志进行分割和清洗,可以在每次读取的时候,不需要读取全链的日志,只需要读取对应时间段内的日志即可,可以节省读取的时间和节省存储的空间。
在一个示例性实施例中,通过开源流处理平台Kafka并按照预设清洗条件对每个日志数据包中的日志进行清洗,得到多个目标日志之后,方法还包括:将多个目标日志存储至列式数据库管理***和预设搜索引擎中,其中,列式数据库管理***和目标显示页面连接,用于将存储的多个目标日志显示在目标显示页面中,预设搜索引擎用于搜索多个目标日志。在本实施例中,列式数据库管理***包括但不限于是Clickhouse,预设搜索引擎包括但不限于是EC。在Clickhouse中读取日志,将日志形成拓扑图在目标显示页面中显示。在EC中响应用户的查询指令,查询中日志的详细内容,并以文字的形式显示。本实施例通过将目标日志存储至不同的存储单元中,可以满足不同的日志需求,更好的显示出应用之间的链路关系。
在一个示例性实施例中,按照多个目标日志中包括的每个应用的标识信息、每个应用与其他应用之间的链路连接关系,确定多个应用之间的拓扑关系,包括:通过前台全链路追踪服务从多个目标日志中提取每个应用的标识信息、每个应用与其他应用之间的链路连接关系,以及每个应用的数据传输信息;在目标显示页面中绘制每个应用的图标信息,以及多个应用之间的链路连接关系,得到拓扑图;将每个应用的数据传输信息显示在拓扑图中。在本实施例中,图形化的形式可以更加清楚的显示出各个应用之间的关系,以及应用与链路之间的关系。
在一个示例性实施例中,在目标显示页面中显示拓扑关系,以从显示的拓扑关系中确定多个应用之间的对应关系之后,方法还包括:在从显示的拓扑关系中确定应用出现故障的情况下,从应用的数据传输信息中查找应用的报错日志;从报错日志中确定与应用出现的故障相关的其他应用。在本实施例中,报错日志中包括应用在执行任务的过程中出现的错误,例如,在订单应用中点击购买商品,在点击付款按钮后,并未跳转到支付应用中,则订单应用生成一个包括跳转过程的错误日志,错误日志中包括支付应用的标识信息。本实施例通过拓扑关系可以快速的查找到出现错误应用。
在一个可选的实施例中,响应日志获取请求,通过目标网关获取多个应用的多个日志,包括:接收客户端发送的日志获取请求,其中,日志获取请求中包括日志需求类型;通过目标网关从多个应用产生的日志中获取与日志需求类型对应的日志,得到多个日志。在本实施例中,用户通过客户端向目标网关发送日志获取请求,例如,用户请求获取错误日志,则目标网关只获取各个应用出现错误的日志。本实施例通过请求的类型获取日志,可以不用获取应用全部的日志,针对性的获取,可以节省网络和数据库开支。
下面结合具体实施例对本发明进行说明:
本实施例以链路追踪平台获取应用产生的错误日志,对链路进行追踪为例进行说明,通过日志的形式判断故障的影响范围、各个阶段链路的耗时、应用之间的依赖关系等。并通过可视化界面展现出来,直观地审视故障的影响范围。并可以通过分析链路耗时、服务间的依赖关系,得到用户的行为路径,汇总分析出具体出问题的场景。
如图3所示,是本实施例中的链路追踪平台中的日志处理流程图,具体包括以下步骤:
S1,当一个日志获取请求通过目标网关时,目标网关会记录日志,日志中包括调用的应用的类别、发送数据时的请求地址、调用应用的方法、信息的触发时间、数据发送的时间间隔、应用的状态等信息。日志记录的信息会被filebeats应用pod写入k8s pv目录中进行缓存。
S2,日志收集服务会收集这些日志,将日志发送到ES和Clickhouse中。具体包括:
S21,通过Kafka对日志进行处理,可以按照自定义的需求进行分割清洗过滤后,落盘至ES中。可以按照日期或者大小进行分割,分割的目的就是不需要读取全链的日志。分割之后进行的清洗,再读取文件。
S22,通过Kafka多消费组落盘至Clickhouse。
可选地,日志收集服务可以是处理器或者是处理器。
S3,前台全链路追踪会从ES和Clickhouse中获取目标日志,以图形化的形式展示拓补关系以及应用的类别、发送数据时的请求地址、调用应用的方法、信息的触发时间、数据发送的时间间隔、应用的状态以供开发人员进行数据分析。链路追踪级别主要分为:SPAN,SEGMENT和STATE。
S31,可以从ES和Clickhouse中获取链路列表及详情。
S32,查询并生成拓扑图。
S33,前台服务可以展示链路信息和拓扑关系,帮助管理人员从各个角度了解***的整体状况。快速的定位问题,看到整个链路的过程。
综上所述,本实施例中的链路追踪的数据来源均源于日志,不是实时追踪,而为异步追踪,资源占用分离,异步写入,较小的影响程序本身响应及性能。采用OpenTracing设计原则,采用了统一的标准,应用接入较为方便,便于管理提供了完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,可以帮助开发者快速分析和诊断代码/服务的性能情况,排查问题,同时提高开发诊断效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种多个应用之间的关系的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的多个应用之间的关系的确定装置的结构框图,如图4所示,该装置包括:
第一响应模块42,用于响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个上述应用之间通过链路连接,每个上述日志中包括对应的上述应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;
第一处理模块44,用于对多个上述日志进行切割和清洗操作,得到多个目标日志;
第一确定模块46,用于按照多个上述目标日志中包括的每个上述应用的标识信息、每个上述应用与上述其他应用之间的链路连接关系,确定多个上述应用之间的拓扑关系,其中,上述拓扑关系中还包括每个上述应用的数据传输信息;
第一显示模块48,用于在目标显示页面中显示上述拓扑关系,以从显示的上述拓扑关系中确定多个上述应用之间的对应关系。
在一个示例性实施例中,上述第一处理模块,包括:
第一读取单元,用于通过消息队列从日志文件中读取多个上述日志,其中,多个上述日志缓存在上述日志文件中;
第一分割单元,用于通过开源流处理平台Kafka并按照获取多个上述日志的时间对多个上述日志进行分割,得到多个日志数据包;
第一清洗单元,用于通过开源流处理平台Kafka并按照预设清洗条件对每个上述日志数据包中的上述日志进行清洗,得到多个上述目标日志。
在一个示例性实施例中,上述装置还包括:
第一存储模块,用于通过开源流处理平台Kafka并按照预设清洗条件对每个上述日志数据包中的上述日志进行清洗,得到多个上述目标日志之后,将多个上述目标日志存储至列式数据库管理***和预设搜索引擎中,其中,上述列式数据库管理***和上述目标显示页面连接,用于将存储的多个上述目标日志显示在上述目标显示页面中,上述预设搜索引擎用于搜索多个上述目标日志。
在一个示例性实施例中,上述第一确定模块,包括:
第一提取单元,用于通过前台全链路追踪服务从多个上述目标日志中提取每个上述应用的标识信息、每个上述应用与上述其他应用之间的链路连接关系,以及每个上述应用的数据传输信息;
第一回执单元,用于在上述目标显示页面中绘制每个上述应用的图标信息,以及多个上述应用之间的链路连接关系,得到拓扑图;
第一显示单元,用于将每个上述应用的数据传输信息显示在上述拓扑图中。
在一个示例性实施例中,上述装置还包括:
第一查找模块,用于在目标显示页面中显示上述拓扑关系,以从显示的上述拓扑关系中确定多个上述应用之间的对应关系之后,在从显示的上述拓扑关系中确定应用出现故障的情况下,从上述应用的数据传输信息中查找上述应用的报错日志;
第二确定模块,用于从上述报错日志中确定与上述应用出现的故障相关的其他应用。
在一个示例性实施例中,上述第一获取模块,包括:
第一接收单元,用于接收客户端发送的上述日志获取请求,其中,上述日志获取请求中包括日志需求类型;
第一获取单元,用于通过上述目标网关从多个上述应用产生的日志中获取与上述日志需求类型对应的日志,得到多个上述日志。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以上各步骤的计算机程序。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以上各步骤。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多个应用之间的关系的确定方法,其特征在于,包括:
响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个所述应用之间通过链路连接,每个所述日志中包括对应的所述应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;
对多个所述日志进行切割和清洗操作,得到多个目标日志;
按照多个所述目标日志中包括的每个所述应用的标识信息、每个所述应用与所述其他应用之间的链路连接关系,确定多个所述应用之间的拓扑关系,其中,所述拓扑关系中还包括每个所述应用的数据传输信息;
在目标显示页面中显示所述拓扑关系,以从显示的所述拓扑关系中确定多个所述应用之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,对多个所述日志进行切割和清洗操作,得到多个目标日志,包括:
通过消息队列从日志文件中读取多个所述日志,其中,多个所述日志缓存在所述日志文件中;
通过开源流处理平台Kafka并按照获取多个所述日志的时间对多个所述日志进行分割,得到多个日志数据包;
通过开源流处理平台Kafka并按照预设清洗条件对每个所述日志数据包中的所述日志进行清洗,得到多个所述目标日志。
3.根据权利要求2所述的方法,其特征在于,通过开源流处理平台Kafka并按照预设清洗条件对每个所述日志数据包中的所述日志进行清洗,得到多个所述目标日志之后,所述方法还包括:
将多个所述目标日志存储至列式数据库管理***和预设搜索引擎中,其中,所述列式数据库管理***和所述目标显示页面连接,用于将存储的多个所述目标日志显示在所述目标显示页面中,所述预设搜索引擎用于搜索多个所述目标日志。
4.根据权利要求1所述的方法,其特征在于,按照多个所述目标日志中包括的每个所述应用的标识信息、每个所述应用与所述其他应用之间的链路连接关系,确定多个所述应用之间的拓扑关系,包括:
通过前台全链路追踪服务从多个所述目标日志中提取每个所述应用的标识信息、每个所述应用与所述其他应用之间的链路连接关系,以及每个所述应用的数据传输信息;
在所述目标显示页面中绘制每个所述应用的图标信息,以及多个所述应用之间的链路连接关系,得到拓扑图;
将每个所述应用的数据传输信息显示在所述拓扑图中。
5.根据权利要求1所述的方法,其特征在于,在目标显示页面中显示所述拓扑关系,以从显示的所述拓扑关系中确定多个所述应用之间的对应关系之后,所述方法还包括:
在从显示的所述拓扑关系中确定应用出现故障的情况下,从所述应用的数据传输信息中查找所述应用的报错日志;
从所述报错日志中确定与所述应用出现的故障相关的其他应用。
6.根据权利要求1所述的方法,其特征在于,响应日志获取请求,通过目标网关获取多个应用的多个日志,包括:
接收客户端发送的所述日志获取请求,其中,所述日志获取请求中包括日志需求类型;
通过所述目标网关从多个所述应用产生的日志中获取与所述日志需求类型对应的日志,得到多个所述日志。
7.一种多个应用之间的关系的确定装置,其特征在于,包括:
第一获取模块,用于响应日志获取请求,通过目标网关获取多个应用的多个日志,其中,多个所述应用之间通过链路连接,每个所述日志中包括对应的所述应用的标识信息、与其他应用之间的链路连接关系以及数据传输信息;
第一处理模块,用于对多个所述日志进行切割和清洗操作,得到多个目标日志;
第一确定模块,用于按照多个所述目标日志中包括的每个所述应用的标识信息、每个所述应用与所述其他应用之间的链路连接关系,确定多个所述应用之间的拓扑关系,其中,所述拓扑关系中还包括每个所述应用的数据传输信息;
第一显示模块,用于在目标显示页面中显示所述拓扑关系,以从显示的所述拓扑关系中确定多个所述应用之间的对应关系。
8.根据权利要求7所述的装置,其特征在于,所述第一处理模块,包括:
第一读取单元,用于通过消息队列从日志文件中读取多个所述日志,其中,多个所述日志缓存在所述日志文件中;
第一分割单元,用于通过开源流处理平台Kafka并按照获取多个所述日志的时间对多个所述日志进行分割,得到多个日志数据包;
第一清洗单元,用于通过开源流处理平台Kafka并按照预设清洗条件对每个所述日志数据包中的所述日志进行清洗,得到多个所述目标日志。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至6任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至6任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211732620.5A CN116028360A (zh) | 2022-12-30 | 2022-12-30 | 多个应用之间的关系的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211732620.5A CN116028360A (zh) | 2022-12-30 | 2022-12-30 | 多个应用之间的关系的确定方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028360A true CN116028360A (zh) | 2023-04-28 |
Family
ID=86077384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211732620.5A Pending CN116028360A (zh) | 2022-12-30 | 2022-12-30 | 多个应用之间的关系的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028360A (zh) |
-
2022
- 2022-12-30 CN CN202211732620.5A patent/CN116028360A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612675B (zh) | 微服务架构下的分布式大数据日志链路跟踪方法及*** | |
EP3882773A1 (en) | Method and system for automatic real-time causality analysis of end user impacting system anomalies using causality rules and topological understanding of the system to effectively filter relevant monitoring data | |
US10275301B2 (en) | Detecting and analyzing performance anomalies of client-server based applications | |
CN109885496B (zh) | 测试日志管理方法及*** | |
US9697104B2 (en) | End-to end tracing and logging | |
CN110888783A (zh) | 微服务***的监测方法、装置以及电子设备 | |
CN110716842B (zh) | 集群故障检测方法和装置 | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
CN110932933B (zh) | 网络状况监测方法、计算设备及计算机存储介质 | |
CN111259073A (zh) | 基于日志、流量和业务访问的业务***运行状态智能研判*** | |
CN113760652B (zh) | 基于应用的全链路监控的方法、***、设备和存储介质 | |
CN111224807B (zh) | 分布式日志处理方法、装置、设备及计算机存储介质 | |
CN109802842B (zh) | 应用拓扑的生成方法及相关设备 | |
CN112235128B (zh) | 一种交易路径分析方法、装置、服务器及存储介质 | |
CN115705190A (zh) | 依赖程度的确定方法及装置 | |
CN111371570A (zh) | 一种nfv网络的故障检测方法及装置 | |
CN110011845B (zh) | 日志采集方法及*** | |
CN112527619A (zh) | 一种基于有向无环图结构的分析链路调用方法及*** | |
CN111026616A (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
CN116028360A (zh) | 多个应用之间的关系的确定方法及装置 | |
CN112579552A (zh) | 日志存储及调用方法、装置及*** | |
CN108959041B (zh) | 信息发送的方法、服务器及计算机可读存储介质 | |
CN114742371A (zh) | 业务流程管理***及其方法 | |
CN112508207A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN112822075A (zh) | 一种业务链路追踪方法及相关装置 |
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 |