CN114371980A - 调用链路性能监控方法、装置、计算机设备及存储介质 - Google Patents

调用链路性能监控方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114371980A
CN114371980A CN202210037019.8A CN202210037019A CN114371980A CN 114371980 A CN114371980 A CN 114371980A CN 202210037019 A CN202210037019 A CN 202210037019A CN 114371980 A CN114371980 A CN 114371980A
Authority
CN
China
Prior art keywords
application
information
performance index
monitoring
call
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
CN202210037019.8A
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.)
Pingan Payment Technology Service Co Ltd
Original Assignee
Pingan Payment Technology Service Co 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 Pingan Payment Technology Service Co Ltd filed Critical Pingan Payment Technology Service Co Ltd
Priority to CN202210037019.8A priority Critical patent/CN114371980A/zh
Publication of CN114371980A publication Critical patent/CN114371980A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例涉及数据分析技术领域,提供了一种调用链路性能监控方法,包括:从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;从预设的设备管理***中获取多个所述应用***对应的设备信息;从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;建立各个应用***的性能指标信息与对应的设备信息的关联关系;根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。本发明实施例可以对出问题的平台进行快速定位。

Description

调用链路性能监控方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种调用链路性能监控方法、装置、计算机设备及存储介质。
背景技术
随着企业业务的多元化发展,企业的业务平台也逐渐向着中大型业务***转化,中大型业务平台,因支持的业务较为全面,相对技术也较为复杂,部分服务还会涉及第三方的支持,对于现有的此类业务平台的性能跟踪,存在一些问题,例如:在出现性能问题时,难以快速定位。
发明内容
有鉴于此,本发明实施例的目的是提供一种调用链路性能监控方法、装置、计算机设备及计算机可读存储介质,用于解决现有业务平台出现问题时难以快速定位的问题。
为实现上述目的,本发明实施例提供了一种调用链路性能监控方法,应用于包括多个应用***的业务平台中,包括:
从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;
从预设的设备管理***中获取多个所述应用***对应的设备信息;
从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;
建立各个应用***的性能指标信息与对应的设备信息的关联关系;
根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
可选地,所述从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息包括:
通过预设的数据可视化工具提供的应用程序接口向所述应用性能指标监控***中获取多个所述应用***的性能指标信息。
可选地,所述方法还包括:
配置预设的应用***中包含的预设接口的接口访问量,所述预设的应用***为多个所述应用***中的至少一个应用***;
检测所述预设接口的访问量是否大于或者等于配置的接口访问量;
若检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,则显示包含所述预设接口的调用链路性能监控图。
可选地,所述方法还包括:
配置多个所述应用***的性能指标数据的告警阈值;
检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值;
若所述应用***的性能指标数据超过所述应用***对应的告警阈值,则输出告警信息。
可选地,所述配置多个所述应用***的性能指标数据的告警阈值包括:
获取多个所述应用***在历史时间段内的历史性能指标数据;
根据所述历史性能指标数据配置各个应用***的性能指标数据对应的告警阈值。
可选地,若应用***的性能指标数据超过应用***对应的告警阈值,则输出告警信息的步骤之后,还包括:
确定所述告警信息对应的应用***;
显示包含所述告警信息对应的应用***的调用链路性能监控图。
可选地,所述根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图包括:
根据多个所述应用***之间的调用日志信息生成调用链路时序图,所述调用链路包括至少两个应用***的调用关系;
根据所述关联关系将性能指标信息、设备信息与调用链路时序图中包含的应用***进行关联显示,得到可视化的调用链路性能监控图。
为实现上述目的,本发明实施例还提供了一种调用链路性能监控装置,所述调用链路性能监控装置包括:
第一获取模块,用于从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;
第二获取模块,用于从预设的设备管理***中获取多个所述应用***对应的设备信息;
第三获取模块,用于从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;
建立模块,用于建立各个应用***的性能指标信息与对应的设备信息的关联关系;
生成模块,用于根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
为实现上述目的,本发明实施例还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的调用链路性能监控方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的调用链路性能监控方法的步骤。
本发明实施例提供的调用链路性能监控方法、装置、计算机设备及计算机可读存储介质,通过从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;从预设的设备管理***中获取多个所述应用***对应的设备信息;从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;建立各个应用***的性能指标信息与对应的设备信息的关联关系;根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。本实施例通过各个应用***之间的调用日志信息、各个应用***的性能指标信息与对应的设备信息的生成可视化的调用链路性能监控图,从而可以通过该调用链路性能监控图直观展示各个应用***之间调用详情,便于发现调用过程中存在的问题。
附图说明
图1为本发明调用链路性能监控方法的一实施方式的步骤流程示意图。
图2为本发明一实施方式中根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图的步骤细化流程示意图。
图3为本发明调用链路性能监控方法的另一实施方式的步骤流程示意图。
图4为本发明调用链路性能监控方法的另一实施方式的步骤流程示意图。
图5为本发明一实施方式中配置多个所述应用***的性能指标数据的告警阈值的步骤细化流程示意图。
图6为本发明调用链路性能监控方法的另一实施方式的步骤流程示意图。
图7为本发明一实施方式的调用链路性能监控装置的程序模块示意图。
图8为本发明一实施方式的计算机设备的硬件结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
参阅图1,示出了本发明实施例一之调用链路性能监控方法的流程图。可以理解,本方法实施例中的流程图不对执行步骤的顺序进行限定。下面以调用链路性能监控装置(下文以“训练装置”简称)为执行主体进行示例性描述,所述训练装置可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)、服务器等具有数据传输功能的设备。具体如下:
步骤S10,从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息。
具体地,所述监控平台可以为CAT监控平台。其中,CAT监控平台本质上一个实时监控***,主要体现在监控报表Transaction、event、problem、heartbeat等,cat***定制的监控模型以及定制的实时分析报表也是cat***核心优势。CAT监控平台倾向于指标、链路事件监控,不太适用于大量业务日志的场景,因为无法搜索、分析,CAT只看看到最新的样本数据和出问题的数据。大量业务日志的场景应该用ELK。
本实施例中的业务平台需要预先接入CAT监控平台,并在业务***中进行埋点,以便该CAT监控平台可以通过埋点的方式采集到业务***中的各个应用***之间的调用日志信息。
其中,所述调用日志信息可以包括traceid,请求方应用***名,被调用方应用***名,调用接口,调用时间,接口耗时,服务ip,调用端口等信息。
Traceid为用于唯一识别不同的调用请求的流水号,也就是说,应用***之间的不同调用请求具有不同的Traceid。应用***触发的每一次调用请求都有一个对应的Traceid。
需要说明的是,本实施例中的应用***指的是业务平台中实现某一个具体功能的***。比如,所述业务平台为一个购物平台,则所述购物平台中的各个应用***可以为订单***、用户***、结算***、商品***等。
步骤S11,从预设的设备管理***中获取多个所述应用***对应的设备信息。
具体地,所述设备管理***为用于管理支持各个应用***实现业务功能的设备(服务器)的***。在本实施例中,业务***需要预先接入所述设备管理***,以便后续可以通过该设备管理***获取到各个应用***对应的设备信息。
其中,所述设备信息包括机器型号、机器数量、CPU使用率、内存使用率等。
作为示例,支持应用***A实现业务功能的设备包括30台服务器,所有服务器的CPU使用率为30%,内存使用率为20%。支持应用***B实现业务功能的设备包括20台服务器,所有服务器的CPU使用率为40%,内存使用率为30%。
步骤S12,从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息。
具体地,所述应用性能指标监控***可以为Prometheus(普罗米修斯)监控***,Prometheus是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。通过该监控***可以监控到各个应用***的性能指标信息。
在本实施例中,业务***需要预先接入所述应用性能指标监控***,以便后续可以通过该应用性能指标监控***获取到各个应用***的性能指标信息。
其中,性能指标信息可以包括dubbo线程数、接口耗时、接口调用QPS(Query PerSecond,每秒查询率)/TPS(Transactions Per Second,每秒传输个数)、数据库CPU、活跃会话数act、最大连接数max conn、使用的连接数use conn、目前的QPS/TPS、接口性能,接口影响表,接口入参,出参,限流指标,降级指标等。
在一示例性的实施方式中,所述从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息包括:通过预设的数据可视化工具提供的应用程序接口向所述应用性能指标监控***中获取多个所述应用***的性能指标信息。
具体地,所述数据可视化工具可以为grafana。其中,grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
步骤S13,建立各个应用***的性能指标信息与对应的设备信息的关联关系。
具体地,在得到各个各个应用***的性能指标信息和各个应用***的设备信息后,可以将两者进行关联绑定,以便在展示各个应用***的性能指标信息时,还可以同时展示设备信息。
步骤S14,根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
具体地,由于调用日志信息中包含有各个应用***之间的调用关系。比如,调用日志信息为应用***A调用应用***B,应用***B调用应用***C,因此,通过调用日志信息可以得到各个应用信息的调用链路,而关联关系包括各个应用***的性能指标信息和设备信息,因此,在将关联关系和调用链路结合起来进行展示,即可以得到可视化的调用链路性能监控图。这样,通过该调用链路性能监控图可以看到各个应用***中的详情,当某个应用***出现故障时,可以根据调用链路性能监控图快速定位出问题的应用***。
在一示例性的实施方式中,参阅图2,所述根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图包括:
步骤S20,根据多个所述应用***之间的调用日志信息生成调用链路时序图,所述调用链路包括至少两个应用***的调用关系。
具体地,由于每一条调用日志信息中包含有应用***之间的调用关系,通过对调用日志信息中包含的应用***之间的调用关系按照时序进行显示,即可以得到调用链路时序图。其中,按照时序进行展示指的是按照应用***之间的调用方和被调用方进行显示,即调用方展示在前,被调用方展示在后。
步骤S21,根据所述关联关系将性能指标信息、设备信息与调用链路时序图中包含的应用***进行关联显示,得到可视化的调用链路性能监控图。
具体地,在生成调用链路时序图之后,可以将调用链路时序图中的应用***与性能指标信息、设备信息进行关联显示,从而可以得到调用链路性能监控图,通过该调用链路性能监控可以同时展示应用***中的详情。这样,当某个应用***出现故障时,可以根据调用链路性能监控图快速定位出问题的应用***。
本发明实施例提供的调用链路性能监控方法、装置、计算机设备及计算机可读存储介质,通过从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;从预设的设备管理***中获取多个所述应用***对应的设备信息;从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;建立各个应用***的性能指标信息与对应的设备信息的关联关系;根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。本实施例通过各个应用***之间的调用日志信息、各个应用***的性能指标信息与对应的设备信息的生成可视化的调用链路性能监控图,从而可以通过该调用链路性能监控图直观展示各个应用***之间调用详情,便于发现调用过程中存在的问题。
在一示例性的实施方式中,参阅图3,所述方法还包括:
步骤S30,配置预设的应用***中包含的预设接口的接口访问量,所述预设的应用***为多个所述应用***中的至少一个应用***。
具体地,所述接口访问量指的是预设时间段内调用所述预设接口的次数。所述接口访问量可以根据实际情况进行灵活配置与修改。所述预设时间段也可以根据实际情况进行灵活设定与修改,比如,所述预设时间段为1分钟,所述接口访问量为1000次。
步骤S31,检测所述预设接口的访问量是否大于或者等于配置的接口访问量。
步骤S32,若检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,则显示包含所述预设接口的调用链路性能监控图。
具体地,可以实时或者定时检测所述预设接口的访问量是否大于或者等于预先配置好的的接口访问量,当检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,表明当前出现了热点事件,可以立即显示包含所述预设接口的调用链路性能监控图,以便用户可以通过当前显示的调用链路性能监控图查看具体详情。
在一实施方式中,当检测到所述预设接口的访问量小于预先配置好的的接口访问量时,可以按照正常流程进行处理。
作为示例,所述预设接口以下单接口为例,当检测下单接口被短时间内调用次数超过所述接口访问量,则会自动调转至包含下单接口的调用链路性能监控图,以便用户可以通过该调用链路性能监控图查询出现短时间大量下单情况的原因。
在一示例性的实施方式中,参阅图4,所述方法还包括:
步骤S40,配置多个所述应用***的性能指标数据的告警阈值。
具体地,所述告警阈值可以根据实际情况进行灵活设定与修改。不同的应用***配置的告警阈值可以相同,也可以不同。所述性能指标数据优选为各个应用***的dubbo线程数、接口耗时、接口调用QPS/TPS、活跃会话数act、最大连接数max conn、使用的连接数use conn。
步骤S41,检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值。
具体地,可以通过多线程实时检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值,即每一个线程对一个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。
在一实施方式中,也可以采用一个线程对多个所述应用***的性能指标数据进行分时检测,即通过该线程在第一时间点对第一个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值;可以通过该线程在第二时间点对第二个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。同理,可以通过该线程在第N时间点对第N个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。其中,第一时间点、第二时间点、…、第N时间点指的是不同的时间段。第一个应用***、第二个应用***、…、第N个应用***指的是多个所述应用***中的一个应用***。
步骤S42,若所述应用***的性能指标数据超过所述应用***对应的告警阈值,则输出告警信息。
具体地,在检测过程中,若检测到该应用***的性能指标数据超过该应用***对应的告警阈值,就可以对该应用***进行报警。在一具体场景中,可以通过输出告警信息的方式实现报警操作。在本实施例中,所述告警信息可以包括应用***的***名称,具体是该应用***的哪个性能指标数据超过告警阈值、该告警的性能指标数据的具体值等。
在一实施方式中,该告警信息还可以包括对于可能导致出现该告警信息的原因以及处理建议等。
本实施例,通过预先对应用***的性能指标数据设定告警阈值,这样,在检测到性能指标数据超过告警阈值时,可以及时进行告警,以便用户可以及时对告警信息进行处理。
在一实施方式中,在输出告警信息的同时,为了让管理员用户可以及时对告警信息进行处理,在输出告警信息同时,还可以通过短信、邮件等方式将告警信息发送给管理员用户。
在一示例性的实施方式中,参阅图5,配置多个所述应用***的性能指标数据的告警阈值包括:步骤S50,获取多个所述应用***在历史时间段内的历史性能指标数据。
具体地,所述历史时间段可以根据实际情况进行灵活设定与修改,比如,所述历史时间段为过去一周的时间。所述历史性能指标数据为在历史时间段内获取到的各个应用***的性能指标数据。
步骤S51,根据所述历史性能指标数据配置各个应用***的性能指标数据对应的告警阈值。
具体地,在获取到各个应用***的历史性能指标数据后,可以对获取到的历史性能指标数据做平均值,并将得到的平均值作为告警阈值,也可以将历史性能指标数据中的中位值、最大值等作为告警阈值。
在一示例性的实施方式中,参阅图6,若应用***的性能指标数据超过应用***对应的告警阈值,则输出告警信息的步骤之后,还包括:步骤S60,确定所述告警信息对应的应用***;步骤S61,显示包含所述告警信息对应的应用***的调用链路性能监控图。
具体地,在检测到某一个应用***出现告警情况时,会显示对应的调用链路性能监控图,以便可以及时对该调用链路性能监控图中包含的各个应用***进行分析,从而查找出可能存在的问题。
请参阅图7,示出了本发明实施例之调用链路性能监控装置700(以下简称为“监控装置700”)的程序模块示意图。所述监控装置700可以应用于计算机设备中,所述计算机设备可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptopcomputer)、服务器等具有数据传输功能的设备。在本实施例中,所述监控装置700可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述调用链路性能监控方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述调用链路性能监控方法在存储介质中的执行过程。在本实施例中,所述调用链路性能监控装置700包括第一获取模块701、第二获取模块702、第三获取模块703、建立模块704、生成模块705。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块701,用于从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息。
具体地,所述监控平台可以为CAT监控平台。其中,CAT监控平台本质上一个实时监控***,主要体现在监控报表Transaction、event、problem、heartbeat等,cat***定制的监控模型以及定制的实时分析报表也是cat***核心优势。CAT监控平台倾向于指标、链路事件监控,不太适用于大量业务日志的场景,因为无法搜索、分析,CAT只看看到最新的样本数据和出问题的数据。大量业务日志的场景应该用ELK。
本实施例中的业务平台需要预先接入CAT监控平台,并在业务***中进行埋点,以便该CAT监控平台可以通过埋点的方式采集到业务***中的各个应用***之间的调用日志信息。
其中,所述调用日志信息可以包括traceid,请求方应用***名,被调用方应用***名,调用接口,调用时间,接口耗时,服务ip,调用端口等信息。
Traceid为用于唯一识别不同的调用请求的流水号,也就是说,应用***之间的不同调用请求具有不同的Traceid。应用***触发的每一次调用请求都有一个对应的Traceid。
需要说明的是,本实施例中的应用***指的是业务平台中实现某一个具体功能的***。比如,所述业务平台为一个购物平台,则所述购物平台中的各个应用***可以为订单***、用户***、结算***、商品***等。
第二获取模块702,用于从预设的设备管理***中获取多个所述应用***对应的设备信息。
具体地,所述设备管理***为用于管理支持各个应用***实现业务功能的设备(服务器)的***。在本实施例中,业务***需要预先接入所述设备管理***,以便后续可以通过该设备管理***获取到各个应用***对应的设备信息。
其中,所述设备信息包括机器型号、机器数量、CPU使用率、内存使用率等。
作为示例,支持应用***A实现业务功能的设备包括30台服务器,所有服务器的CPU使用率为30%,内存使用率为20%。支持应用***B实现业务功能的设备包括20台服务器,所有服务器的CPU使用率为40%,内存使用率为30%。
第三获取模块703,用于从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息。
具体地,所述应用性能指标监控***可以为Prometheus(普罗米修斯)监控***,Prometheus是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。通过该监控***可以监控到各个应用***的性能指标信息。
在本实施例中,业务***需要预先接入所述应用性能指标监控***,以便后续可以通过该应用性能指标监控***获取到各个应用***的性能指标信息。
其中,性能指标信息可以包括dubbo线程数、接口耗时、接口调用QPS(Query PerSecond,每秒查询率)/TPS(Transactions Per Second,每秒传输个数)、数据库CPU、活跃会话数act、最大连接数max conn、使用的连接数use conn、目前的QPS/TPS、接口性能,接口影响表,接口入参,出参,限流指标,降级指标等。
在一示例性的实施方式中,第三获取模块703,还用于通过预设的数据可视化工具提供的应用程序接口向所述应用性能指标监控***中获取多个所述应用***的性能指标信息。
具体地,所述数据可视化工具可以为grafana。其中,grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
建立模块704,用于建立各个应用***的性能指标信息与对应的设备信息的关联关系。
具体地,具体地,在得到各个各个应用***的性能指标信息和各个应用***的设备信息后,可以将两者进行关联绑定,以便在展示各个应用***的性能指标信息时,还可以同时展示设备信息。
生成模块705,用于根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
具体地,由于调用日志信息中包含有各个应用***之间的调用关系。比如,调用日志信息为应用***A调用应用***B,应用***B调用应用***C,因此,通过调用日志信息可以得到各个应用信息的调用链路,而关联关系包括各个应用***的性能指标信息和设备信息,因此,在将关联关系和调用链路结合起来进行展示,即可以得到可视化的调用链路性能监控图。这样,通过该调用链路性能监控图可以看到各个应用***中的详情,当某个应用***出现故障时,可以根据调用链路性能监控图快速定位出问题的应用***。
在一示例性的实施方式中,生成模块705,还用于根据多个所述应用***之间的调用日志信息生成调用链路时序图,所述调用链路包括至少两个应用***的调用关系。
具体地,由于每一条调用日志信息中包含有应用***之间的调用关系,通过对调用日志信息中包含的应用***之间的调用关系按照时序进行显示,即可以得到调用链路时序图。其中,按照时序进行展示指的是按照应用***之间的调用方和被调用方进行显示,即调用方展示在前,被调用方展示在后。
生成模块705,还用于根据所述关联关系将性能指标信息、设备信息与调用链路时序图中包含的应用***进行关联显示,得到可视化的调用链路性能监控图。
具体地,在生成调用链路时序图之后,可以将调用链路时序图中的应用***与性能指标信息、设备信息进行关联显示,从而可以得到调用链路性能监控图,通过该调用链路性能监控可以同时展示应用***中的详情。这样,当某个应用***出现故障时,可以根据调用链路性能监控图快速定位出问题的应用***。
本发明实施例提供的调用链路性能监控方法、装置、计算机设备及计算机可读存储介质,通过从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;从预设的设备管理***中获取多个所述应用***对应的设备信息;从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;建立各个应用***的性能指标信息与对应的设备信息的关联关系;根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。本实施例通过各个应用***之间的调用日志信息、各个应用***的性能指标信息与对应的设备信息的生成可视化的调用链路性能监控图,从而可以通过该调用链路性能监控图直观展示各个应用***之间调用详情,便于发现调用过程中存在的问题。
在一示例性的实施方式中,所述监控装置700还包括配置模块、检测模块及显示模块。
所述配置模块,用于配置预设的应用***中包含的预设接口的接口访问量,所述预设的应用***为多个所述应用***中的至少一个应用***。
具体地,所述接口访问量指的是预设时间段内调用所述预设接口的次数。所述接口访问量可以根据实际情况进行灵活配置与修改。所述预设时间段也可以根据实际情况进行灵活设定与修改,比如,所述预设时间段为1分钟,所述接口访问量为1000次。
所述检测模块,用于检测所述预设接口的访问量是否大于或者等于配置的接口访问量。
所述显示模块,用于若检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,则显示包含所述预设接口的调用链路性能监控图。
具体地,可以实时或者定时检测所述预设接口的访问量是否大于或者等于预先配置好的的接口访问量,当检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,表明当前出现了热点事件,可以立即显示包含所述预设接口的调用链路性能监控图,以便用户可以通过当前显示的调用链路性能监控图查看具体详情。
在一实施方式中,当检测到所述预设接口的访问量小于预先配置好的的接口访问量时,可以按照正常流程进行处理。
作为示例,所述预设接口以下单接口为例,当检测下单接口被短时间内调用次数超过所述接口访问量,则会自动调转至包含下单接口的调用链路性能监控图,以便用户可以通过该调用链路性能监控图查询出现短时间大量下单情况的原因。
在一示例性的实施方式中,所述监控装置700还包括输出模块。
所述配置模块,还用于配置多个所述应用***的性能指标数据的告警阈值。
所述检测模块,还用于检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值。
具体地,可以通过多线程实时检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值,即每一个线程对一个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。
在一实施方式中,也可以采用一个线程对多个所述应用***的性能指标数据进行分时检测,即通过该线程在第一时间点对第一个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值;可以通过该线程在第二时间点对第二个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。同理,可以通过该线程在第N时间点对第N个应用***的性能指标数据进行检测,以判断检测到的性能指标数据是否超过该应用***对应的告警阈值。其中,第一时间点、第二时间点、…、第N时间点指的是不同的时间段。第一个应用***、第二个应用***、…、第N个应用***指的是多个所述应用***中的一个应用***。
所述输出模块,还用于若所述应用***的性能指标数据超过所述应用***对应的告警阈值,则输出告警信息。
具体地,在检测过程中,若检测到该应用***的性能指标数据超过该应用***对应的告警阈值,就可以对该应用***进行报警。在一具体场景中,可以通过输出告警信息的方式实现报警操作。在本实施例中,所述告警信息可以包括应用***的***名称,具体是该应用***的哪个性能指标数据超过告警阈值、该告警的性能指标数据的具体值等。
在一实施方式中,该告警信息还可以包括对于可能导致出现该告警信息的原因以及处理建议等。
在一示例性的实施方式中,所述配置模块,还用于获取多个所述应用***在历史时间段内的历史性能指标数据。
具体地,所述历史时间段可以根据实际情况进行灵活设定与修改,比如,所述历史时间段为过去一周的时间。所述历史性能指标数据为在历史时间段内获取到的各个应用***的性能指标数据。
所述配置模块,还用于根据所述历史性能指标数据配置各个应用***的性能指标数据对应的告警阈值。
具体地,在获取到各个应用***的历史性能指标数据后,可以对获取到的历史性能指标数据做平均值,并将得到的平均值作为告警阈值,也可以将历史性能指标数据中的中位值、最大值等作为告警阈值。
在一示例性的实施方式中,监控装置700还包括确定模块。
所述确定模块,用于确定所述告警信息对应的应用***。
所述显示模块,还用于显示包含所述告警信息对应的应用***的调用链路性能监控图。
具体地,在检测到某一个应用***出现告警情况时,会显示对应的调用链路性能监控图,以便可以及时对该调用链路性能监控图中包含的各个应用***进行分析,从而查找出可能存在的问题。
参阅图8,是本发明实施例之计算机设备800的硬件架构示意图。在本实施例中,所述计算机设备800是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图所示,所述计算机设备800至少包括,但不限于,可通过装置总线相互通信连接存储器801、处理器802、网络接口803。其中:
本实施例中,存储器801至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器801可以是计算机设备800的内部存储单元,例如所述计算机设备800的硬盘或内存。在另一些实施例中,存储器801也可以是计算机设备800的外部存储设备,例如所述计算机设备800上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器801还可以既包括计算机设备800的内部存储单元也包括其外部存储设备。本实施例中,存储器801通常用于存储安装于计算机设备800的操作装置和各类应用软件,例如调用链路性能监控装置700的程序代码等。此外,存储器801还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器802在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。所述处理器802通常用于控制计算机设备800的总体操作。本实施例中,处理器802用于运行存储器801中存储的程序代码或者处理数据,例如运行调用链路性能监控装置700,以实现上述各个实施例中的调用链路性能监控方法。
所述网络接口803可包括无线网络接口或有线网络接口,所述网络接口803通常用于在所述计算机设备800与其他电子装置之间建立通信连接。例如,所述网络接口803用于通过网络将所述计算机设备800与外部终端相连,在所述计算机设备800与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯装置(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件801-803的计算机设备800,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器801中的所述调用链路性能监控装置700还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器801中,并由一个或多个处理器(本实施例为处理器802)所执行,以完成本发明之调用链路性能监控方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储调用链路性能监控装置700,以被处理器执行时实现本发明之调用链路性能监控方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种调用链路性能监控方法,应用于包括多个应用***的业务平台中,其特征在于,包括:
从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;
从预设的设备管理***中获取多个所述应用***对应的设备信息;
从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;
建立各个应用***的性能指标信息与对应的设备信息的关联关系;
根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
2.如权利要求1所述的调用链路性能监控方法,其特征在于,所述从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息包括:
通过预设的数据可视化工具提供的应用程序接口向所述应用性能指标监控***中获取多个所述应用***的性能指标信息。
3.如权利要求1所述的调用链路性能监控方法,其特征在于,所述方法还包括:
配置预设的应用***中包含的预设接口的接口访问量,所述预设的应用***为多个所述应用***中的至少一个应用***;
检测所述预设接口的访问量是否大于或者等于配置的接口访问量;
若检测到所述预设接口的访问量大于或者等于所述配置的接口访问量,则显示包含所述预设接口的调用链路性能监控图。
4.如权利要求1所述的调用链路性能监控方法,其特征在于,所述方法还包括:
配置多个所述应用***的性能指标数据的告警阈值;
检测多个所述应用***的性能指标数据是否超过各个应用***对应的告警阈值;
若所述应用***的性能指标数据超过所述应用***对应的告警阈值,则输出告警信息。
5.如权利要求4所述的调用链路性能监控方法,其特征在于,所述配置多个所述应用***的性能指标数据的告警阈值包括:
获取多个所述应用***在历史时间段内的历史性能指标数据;
根据所述历史性能指标数据配置各个应用***的性能指标数据对应的告警阈值。
6.如权利要求4所述的调用链路性能监控方法,其特征在于,若应用***的性能指标数据超过应用***对应的告警阈值,则输出告警信息的步骤之后,还包括:
确定所述告警信息对应的应用***;
显示包含所述告警信息对应的应用***的调用链路性能监控图。
7.如权利要求1至6任一项所述的调用链路性能监控方法,其特征在于,所述根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图包括:
根据多个所述应用***之间的调用日志信息生成调用链路时序图,所述调用链路包括至少两个应用***的调用关系;
根据所述关联关系将性能指标信息、设备信息与调用链路时序图中包含的应用***进行关联显示,得到可视化的调用链路性能监控图。
8.一种调用链路性能监控装置,其特征在于,所述调用链路性能监控装置包括:
第一获取模块,用于从预设的监控平台中获取通过埋点方式采集的多个应用***之间的调用日志信息;
第二获取模块,用于从预设的设备管理***中获取多个所述应用***对应的设备信息;
第三获取模块,用于从预设的应用性能指标监控***中获取多个所述应用***的性能指标信息;
建立模块,用于建立各个应用***的性能指标信息与对应的设备信息的关联关系;
生成模块,用于根据多个所述应用***之间的调用日志信息与所述关联关系生成可视化的调用链路性能监控图。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的调用链路性能监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1-7中任一项所述的调用链路性能监控方法的步骤。
CN202210037019.8A 2022-01-13 2022-01-13 调用链路性能监控方法、装置、计算机设备及存储介质 Pending CN114371980A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210037019.8A CN114371980A (zh) 2022-01-13 2022-01-13 调用链路性能监控方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210037019.8A CN114371980A (zh) 2022-01-13 2022-01-13 调用链路性能监控方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN114371980A true CN114371980A (zh) 2022-04-19

Family

ID=81144717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210037019.8A Pending CN114371980A (zh) 2022-01-13 2022-01-13 调用链路性能监控方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114371980A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904872A (zh) * 2022-12-01 2023-04-04 深圳市雁联计算***有限公司 一种交易链路监控方法、***及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904872A (zh) * 2022-12-01 2023-04-04 深圳市雁联计算***有限公司 一种交易链路监控方法、***及存储介质
CN115904872B (zh) * 2022-12-01 2024-03-12 深圳市雁联计算***有限公司 一种交易链路监控方法、***及存储介质

Similar Documents

Publication Publication Date Title
US10956424B2 (en) Application recommending method and system, and server
US9369521B2 (en) Naming of distributed business transactions
CN112631913B (zh) 应用程序的运行故障监控方法、装置、设备和存储介质
CN110232010A (zh) 一种告警方法、告警服务器及监控服务器
US20080244616A1 (en) System and method for message lifetime management
CN113176978A (zh) 基于日志文件的监控方法、***、设备及可读存储介质
CN107566172B (zh) 一种基于存储***的主动式管理方法及***
WO2019200759A1 (zh) 坐席信息处理方法、装置及计算机可读存储介质
CN110674149B (zh) 业务数据处理方法、装置、计算机设备和存储介质
CN115499302A (zh) 业务***的监测方法、装置、可读存储介质及电子设备
CN109409948B (zh) 交易异常检测方法、装置、设备及计算机可读存储介质
CN114371980A (zh) 调用链路性能监控方法、装置、计算机设备及存储介质
CN114553682A (zh) 实时告警方法、***、计算机设备及存储介质
CN110727563A (zh) 预设客户的云服务报警方法及装置
CN113608982A (zh) 函数执行性能监测方法、装置、计算机设备及存储介质
CN111710403A (zh) 医疗设备的监管方法、设备及可读存储介质
CN108234658B (zh) 一种感知服务器集群健康状况的方法、装置和服务器
CN110113208A (zh) 报警信息处理方法、装置、设备及计算机可读存储介质
CN114490237A (zh) 基于多数据来源的运维监测方法及装置
US10296967B1 (en) System, method, and computer program for aggregating fallouts in an ordering system
CN112596974A (zh) 一种全链路监控方法、装置、设备和存储介质
CN111400156A (zh) 日志分析方法和装置
CN114024867B (zh) 网络异常检测方法及装置
CN112653567B (zh) 监控方法、装置、计算机设备及存储介质
CN113835958B (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