CN108600045A - 一种服务链路监控方法及装置 - Google Patents
一种服务链路监控方法及装置 Download PDFInfo
- Publication number
- CN108600045A CN108600045A CN201810302479.2A CN201810302479A CN108600045A CN 108600045 A CN108600045 A CN 108600045A CN 201810302479 A CN201810302479 A CN 201810302479A CN 108600045 A CN108600045 A CN 108600045A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- mark
- node
- service
- information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Abstract
本发明提供了一种服务链路监控方法及装置,其中,该方法包括:接收第一调用请求,根据第一调用请求生成监控信息,该监控信息包括全局跟踪标识、监控标识和父节点标识;发送第二调用请求给当前服务节点的下一层服务节点,第二调用请求包括全局跟踪标识及监控标识;当当前服务节点的调用结束后,通过socket传输监控信息给监控服务器。本发明中每层服务节点定义结构统一的监控信息,服务节点调用结束后直接通过socket将本层对应的监控信息传输给监控服务器,更进一步地是直接通过socket将监控信息传输至监控服务器中的kafka消息队列中,省略了本地磁盘的日志读取过程,避免了服务链路追踪对服务系统本身性能的影响,且服务链路监控的实时性更高。
Description
技术领域
本发明涉及互联网通信技术领域,具体而言,涉及一种服务链路监控方法及装置。
背景技术
在互联网服务中,一次用户请求通常要调用多个服务节点。这多个服务节点按照被调用的先后顺序所组成的链路即为该用户请求对应的服务链路。在网络服务的系统运维中,需要对服务链路进行监控,以及时发现并处理服务链路中出现的故障。
当前,相关技术中存在一种服务链路监控方法,包括:服务节点被调用时生成服务日志,通过收集器实时读取服务节点中的日志,从中过滤出服务日志,然后将服务日志上传给监控服务器。监控服务器获得各个服务节点的服务日志后,对所有服务日志进行整理分析,以获得每个用户请求对应的服务链路信息。
但由于服务节点的磁盘I/O(Input/Output,输入/输出)吞吐能力的限制,服务节点在写入数据的同时,还需要通过收集器实时读取日志,过滤出服务日志并上报,如此大大增加了系统额外的磁盘I/O开销,影响用户请求的响应速度。
发明内容
有鉴于此,本发明实施例的目的在于提供一种服务链路监控方法及装置,以省略本地磁盘的日志读取过程,避免服务链路追踪对服务系统本身性能的影响。
第一方面,本发明实施例提供了一种服务链路监控方法,所述方法包括:
接收第一调用请求,根据所述第一调用请求生成监控信息,所述监控信息包括全局跟踪标识、监控标识和父节点标识;
发送第二调用请求给当前服务节点的下一层服务节点,所述第二调用请求包括所述全局跟踪标识及所述监控标识;
当所述当前服务节点的调用结束后,通过套接字socket传输所述监控信息给监控服务器。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,当所述第一调用请求为用户请求时,所述根据所述第一调用请求生成监控信息,包括:
创建全局跟踪标识;
生成当前服务节点对应的监控标识,设置所述当前服务节点对应的父节点标识为空;
将所述全局跟踪标识、所述当前服务节点对应的所述监控标识及所述父节点标识组成所述当前服务节点对应的监控信息。
结合第一方面,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,当所述第一调用请求为所述当前服务节点的上一层服务节点传输的调用请求时,所述第一调用请求包括所述全局跟踪标识及所述上一层服务节点对应的监控标识;
相应地,所述根据所述第一调用请求生成监控信息,包括:
将所述上一层服务节点对应的监控标识确定为所述当前服务节点对应的父节点标识;
生成所述当前服务节点对应的监控标识;
将所述全局跟踪标识、所述当前服务器节点对应的所述监控标识及所述父节点标识组成所述当前服务节点对应的监控信息。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述方法还包括:
在所述当前服务节点的调用过程中,存储所述当前服务节点对应的键值信息;
在所述当前服务节点的调用结束后,通过socket传输所述键值信息给所述监控服务器。
第二方面,本发明实施例提供了一种服务链路监控方法,所述方法包括:
接收各服务节点传输的监控信息,所述监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识;
根据接收的所述监控信息,生成服务链路信息。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述根据接收的所述监控信息,生成服务链路信息,包括:
根据接收的所述监控信息中包括的全局跟踪标识,从接收的所有监控信息中选择出同一用户请求对应的监控信息;
根据所述同一用户请求对应的监控信息中包括的监控标识及父节点标识,生成所述用户请求对应的服务链路信息。
结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述接收各服务节点传输的监控信息,包括:
通过socket接收各服务节点传输的监控信息,将接收的所述监控信息插入kafka消息队列的队尾。
结合第二方面,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述方法还包括:
通过socket接收所述各服务节点传输的键值信息,根据接收的所述键值信息对所述服务链路信息进行检验。
第三方面,本发明实施例提供了一种服务链路监控装置,所述装置包括:
接收模块,用于接收第一调用请求,根据所述第一调用请求生成监控信息,所述监控信息包括全局跟踪标识、监控标识和父节点标识;
发送模块,用于发送第二调用请求给当前服务节点的下一层服务节点,所述第二调用请求包括所述全局跟踪标识及所述监控标识;
传输模块,用于当所述当前服务节点的调用结束后,通过套接字socket传输所述监控信息给监控服务器。
第四方面,本发明实施例提供了一种服务链路监控装置,所述装置包括:
接收模块,用于接收各服务节点传输的监控信息,所述监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识;
生成模块,用于根据接收的所述监控信息,生成服务链路信息。
在本发明实施例中,当前服务节点接收第一调用请求,根据第一调用请求生成监控信息,该监控信息包括全局跟踪标识、监控标识和父节点标识;发送第二调用请求给当前服务节点的下一层服务节点,第二调用请求包括全局跟踪标识及监控标识;当当前服务节点的调用结束后,通过socket传输监控信息给监控服务器。本发明中每层服务节点定义结构统一的监控信息,服务节点调用结束后直接通过socket将本层对应的监控信息传输给监控服务器,更进一步地是直接通过socket将监控信息传输至监控服务器中的kafka消息队列中,省略了本地磁盘的日志读取过程,避免了服务链路追踪对服务系统本身性能的影响,且服务链路监控的实时性更高。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的一种服务链路监控方法的流程图;
图2示出了本发明实施例1所提供的一种服务链路调用示意图;
图3示出了本发明实施例1所提供的一种服务链路监控示意图;
图4示出了本发明实施例2所提供的一种服务链路监控方法的流程图;
图5示出了本发明实施例3所提供的一种服务链路监控装置的结构示意图;
图6示出了本发明实施例4所提供的一种服务链路监控装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中服务节点在写入数据的同时,还需要通过收集器实时读取日志,过滤出服务日志并上报,大大增加了系统额外的磁盘I/O开销,影响用户请求的响应速度。基于此,本发明实施例提供了一种服务链路监控方法及装置,下面通过实施例进行描述。
实施例1
本发明实施例提供了一种服务链路监控方法,该方法的执行主体为服务节点,服务节点可以为网关或服务器。参见图1,该方法具体包括以下步骤:
步骤101:接收第一调用请求,根据第一调用请求生成监控信息,该监控信息包括全局跟踪标识、监控标识和父节点标识。
当用户发起用户请求时,按照服务端的逻辑设置依次调用响应该用户请求的各层服务节点。被调用的当前用户节点可能为首先接收到该用户请求的网关,也可能为后续提供服务的服务器。
当前服务节点接收到第一调用请求时,首先检测该第一调用请求中是否包含全局跟踪标识,全局跟踪标识用于唯一标识该用户请求。若确定该第一调用请求中不包含全局跟踪标识时,则确定该第一调用请求为用户请求,此时当前服务节点为首先接收到该用户请求的网关,当前服务器节点接收到第一调用请求后,创建全局跟踪标识,生成当前服务节点对应的监控标识,设置当前服务节点对应的父节点标识为空,将全局跟踪标识、当前服务节点对应的监控标识及父节点标识组成当前服务节点对应的监控信息。本发明实施例中,服务节点可以将自身的设备标识定义为当前服务节点对应的监控标识,以便后续服务链路维护时根据设备标识能够快速定位至出故障的服务节点。
若确定第一调用请求中包含全局跟踪标识,则确定第一调用请求为当前服务节点的上一层服务节点传输的调用请求,此时当前服务节点为调用顺序位于网关之后用于提供服务的服务器。在这种情况下,第一调用请求中除包含全局跟踪标识外,还包含上一层服务节点对应的监控标识。当前服务节点在生成监控信息时,将上一层服务节点对应的监控标识确定为当前服务节点对应的父节点标识;生成当前服务节点对应的监控标识;将全局跟踪标识、当前服务器节点对应的监控标识及父节点标识组成当前服务节点对应的监控信息。同样地,此处服务节点也将自身的设备标识确定为当前服务节点对应的监控标识。
在调用当前服务节点时,若还需从其他服务节点调取数据,则通过如下步骤102发送第二调用请求给当前服务节点的下一层服务节点。
步骤102:发送第二调用请求给当前服务节点的下一层服务节点,第二调用请求包括全局跟踪标识及当前服务节点对应的监控标识。
下一层服务节点根据第二调用信息生成下一层服务节点对应的监控信息。下一层服务节点在生成监控信息时,将当前服务节点对应的监控标识确定为下一层服务节点对应的父节点标识;生成下一层服务节点对应的监控标识;将全局跟踪标识、生成的监控标识及父节点标识组成下一层服务节点对应的监控信息。
步骤103:当当前服务节点的调用结束后,通过socket(套接字)传输监控信息给监控服务器。
在本发明实施例中,每一层服务节点都按照上述步骤101及102的方式,被调用时生成统一结构的监控信息,以及需要调用其他服务节点时发送第二调用请求给下一层服务节点,直到响应用户请求的所有服务节点全部被调用完。每一层服务节点被调用完之后,都通过socket将本层对应的监控信息传输给监控服务器。监控服务器接收到服务节点传输的监控信息后,将监控信息插入到kafka消息队列的队尾。后续监控服务器通过收集器从Kafka消息队列的队首获取监控信息,根据监控信息中包括的全局跟踪标识,选择出同一用户请求对应的监控信息,然后根据选择出的监控信息包括的监控标识及父节点标识,梳理出该用户请求对应的服务链路信息,最后将服务链路信息存储到数据库,以供查询展示。
本发明实施例中,在当前服务节点的调用过程中,还存储当前服务节点对应的键值信息,该键值信息包括当前服务节点被调用的调用时间、当前服务节点的设备标识、用户请求对应的用户标识及调用结果等;在当前服务节点调用结束后,通过socket传输键值信息给监控服务器。监控服务器将该服务节点对应的监控信息及键值信息插入kafka消息队列的队尾。后续监控服务器根据各服务节点对应的监控信息梳理服务链路信息时,可以根据各服务节点对应的键值信息中包括的调用时间来检验梳理出的服务链路信息是否正确。
为了进一步理解本发明实施例提供的服务链路监控方案,下面结合附图进行具体说明。如图2所示,一个用户请求通过网关服务路由到下游的服务节点Service1,然后服务节点Service1先调用服务节点Service2,拿到结果后再调用服务节点Service3,最后组合Service2和Service3服务的结果,通过网关Gateway返回给用户。本发明实施例中用1→2→3→4→5→6表示内部服务节点的调用顺序。
如图3所示,当网关接收到用户请求时,创建全局跟踪标识TraceId=123456该全局跟踪标识TraceId用来标记该用户请求对应的一次完整服务调用。网关还生成其自身对应的监控标识SpanId=A,以及设置其自身对应的父节点标识ParentId=null。全局跟踪标识TraceId=123456、监控标识SpanId=A以及父节点标识ParentId=null就组成了网关对应的监控信息。
网关还发送调用请求给服务节点Service1,网关发送的调用请求携带全局跟踪标识TraceId=123456以及网关对应的监控标识SpanId=A。服务节点Service1接收到该调用请求时,将网关对应的监控标识SpanId=A确定为其自身对应的父节点标识ParentId=A,并生成其自身对应的监控标识SpanId=B,将全局跟踪标识TraceId=123456、监控标识SpanId=B以及父节点标识ParentId=A组成服务节点Service1对应的监控信息。而且在网关发送第二调用请求给服务节点Service1后,网关的调用即结束了,此时网关通过socket直接将网关对应的监控信息TraceId=123456、SpanId=A以及ParentId=null传输给监控服务器。
服务节点Service1接收到网关发送的调用请求后需先调用服务节点Service2,发送调用请求给服务节点Service2,服务节点Service1发送的调用请求携带全局跟踪标识TraceId=123456及服务节点Service1对应的监控标识SpanId=B。服务节点Service2接收到该调用请求时,将服务节点Service1对应的监控标识SpanId=B确定为其自身对应的父节点标识ParentId=B,并生成其自身对应的监控标识SpanId=C,将全局跟踪标识TraceId=123456、监控标识SpanId=C以及父节点标识ParentId=B组成服务节点Service2对应的监控信息。服务节点Service2将调用结果返回给服务节点Service1后,服务节点Service2的调用即结束了,此时服务节点Service2通过socket直接将服务节点Service2对应的监控信息TraceId=123456、SpanId=C以及ParentId=B传输给监控服务器。
服务节点Service1接收到服务节点Service2返回的调用结果后,还需要调用服务节点Service3,发送调用请求给服务节点Service3,服务节点Service1发送的调用请求携带全局跟踪标识TraceId=123456及上一层服务节点Service1对应的监控标识SpanId=B。服务节点Service3接收到该调用请求时,将服务节点Service1对应的监控标识SpanId=B确定为其自身对应的父节点标识ParentId=B,并生成其自身对应的监控标识SpanId=D,将全局跟踪标识TraceId=123456、监控标识SpanId=D以及父节点标识ParentId=B组成服务节点Service3对应的监控信息。服务节点Service3将调用结果返回给服务节点Service1后,服务节点Service3的调用即结束了,此时服务节点Service3通过socket直接将服务节点Service3对应的监控信息TraceId=123456、SpanId=D以及ParentId=B传输给监控服务器。
服务节点Service1接收到服务节点Service3返回的调用结果后,组合服务节点Service2和Service3的调用结果,通过网关Gateway将最终结果返回给用户。当服务节点Service1将最终结果发送给网关Gateway之后,服务节点Service1的调用即结束了,此时服务节点Service1通过socket直接将服务节点Service1对应的监控信息TraceId=123456、SpanId=B以及ParentId=A传输给监控服务器。
监控服务器每当接收到一个服务节点对应的监控信息,即将其插入kafka消息队列的队尾,上述图3中各服务节点对应的监控信息在kafka消息队列中的排布如下表1所示。需说明的是,表1中各服务节点对应的监控信息的排列顺序为示意性的,实际应用中由于各服务节点的网络状态不同,kafka消息队列中各服务节点对应的监控信息的排列顺序可能不同。
表1
后续监控服务器从kafka消息队列中获取各服务节点对应的监控信息,根据全局跟踪标识TraceId确定属于同一用户请求的监控信息,然后根据各监控信息中包括的监控标识SpanId及父节点标识ParentId梳理用户请求对应的服务链路。基于上述表1中所示的各监控信息,监控服务器最终梳理出的服务链路为A→B→(C、D)。
在本发明实施例中,被调用的每层服务节点定义统一结构的监控信息,并直接通过socket传输监控信息至监控服务器中的kafka消息队列。监控服务器再通过收集器解析整理调用链路转存到数据库,如此省去了本地磁盘的日志读取,避免了服务追踪对服务系统本身的性能影响,且实时性更高。
实施例2
参见图4,本发明实施例提供了一种服务链路监控方法,具体包括以下步骤:
步骤201:接收各服务节点传输的监控信息,该监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识。
本发明实施例的执行主体为监控服务器,监控服务器与各服务节点通信连接。监控服务器通过socket接收各服务节点传输的监控信息,将接收的监控信息插入kafka消息队列的队尾。上述服务节点对应的监控标识可以为服务节点的设备标识。
在本发明实施例中,各服务节点传输监控信息的同时还可以传输键值信息,该键值信息包括服务节点被调用的调用时间、服务节点的设备标识、用户请求对应的用户标识及调用结果等。监控服务器通过socket接收各服务节点传输的键值信息,根据接收的键值信息对服务链路信息进行检验。即监控服务器可以根据键值信息中包括的服务节点被调用的调用时间梳理出用户请求对应的服务链路,将该服务链路与根据监控信息梳理出的服务链路进行比对,以确保梳理出的服务链路准确无误。而且若监控服务器按照kafka消息对应中存储的监控信息无法梳理出用户请求对应的服务链路,则可以根据键值信息中服务节点被调用的调用时间来辅助梳理服务链路。
步骤202:根据接收的监控信息,生成服务链路信息。
根据接收的监控信息中包括的全局跟踪标识,从接收的所有监控信息中选择出同一用户请求对应的监控信息;根据同一用户请求对应的监控信息中包括的监控标识及父节点标识,生成用户请求对应的服务链路信息。
监控服务器生成用户请求对应的服务链路信息后,将该服务链路信息转存到数据库,以便于后续查询及展示。
在本发明实施例中,被调用的每层服务节点定义统一结构的监控信息,监控服务器直接通过socket接收各服务节点对应的监控信息,并插入至kafka消息队列。监控服务器再通过收集器解析整理调用链路转存到数据库,如此省去了服务节点本地磁盘的日志读取,避免了服务追踪对服务系统本身的性能影响,且实时性更高。
实施例3
参见图5,本发明实施例提供了一种服务链路监控装置,该装置用于执行上述实施例1所述的服务链路监控方法,该装置包括:
接收模块30,用于接收第一调用请求;
生成模块31,用于根据第一调用请求生成监控信息,监控信息包括全局跟踪标识、监控标识和父节点标识;
发送模块32,用于发送第二调用请求给当前服务节点的下一层服务节点,第二调用请求包括全局跟踪标识及监控标识;
传输模块33,用于当当前服务节点的调用结束后,通过套接字socket传输监控信息给监控服务器。
当第一调用请求为用户请求时,上述生成模块31,用于创建全局跟踪标识;生成当前服务节点对应的监控标识,设置当前服务节点对应的父节点标识为空;将全局跟踪标识、当前服务节点对应的监控标识及父节点标识组成当前服务节点对应的监控信息。
当第一调用请求为当前服务节点的上一层服务节点传输的调用请求时,第一调用请求包括全局跟踪标识及上一层服务节点对应的监控标识;
相应地,上述生成模块31,用于将上一层服务节点对应的监控标识确定为当前服务节点对应的父节点标识;生成当前服务节点对应的监控标识;将全局跟踪标识、当前服务器节点对应的监控标识及父节点标识组成当前服务节点对应的监控信息。
在本发明实施例中,该装置还包括:键值传输模块,用于在当前服务节点的调用过程中,存储当前服务节点对应的键值信息;在当前服务节点的调用结束后,通过socket传输键值信息给监控服务器。
本发明实施例中,每层服务节点定义结构统一的监控信息,服务节点调用结束后直接通过socket将本层对应的监控信息传输给监控服务器,更进一步地是直接通过socket将监控信息传输至监控服务器中的kafka消息队列中,省略了本地磁盘的日志读取过程,避免了服务链路追踪对服务系统本身性能的影响,且服务链路监控的实时性更高。
实施例4
参见图6,本发明实施例提供了一种服务链路监控装置,该装置用于执行上述实施例2所述的服务链路监控方法,该装置包括:
接收模块40,用于接收各服务节点传输的监控信息,该监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识;
生成模块41,用于根据接收的所述监控信息,生成服务链路信息。
上述生成模块41,用于根据接收的监控信息中包括的全局跟踪标识,从接收的所有监控信息中选择出同一用户请求对应的监控信息;根据同一用户请求对应的监控信息中包括的监控标识及父节点标识,生成用户请求对应的服务链路信息。
上述接收模块40,用于通过socket接收各服务节点传输的监控信息,将接收的监控信息插入kafka消息队列的队尾。
在本发明实施例中,上述接收模块40,还用于通过socket接收各服务节点传输的键值信息,根据接收的键值信息对服务链路信息进行检验。
在本发明实施例中,被调用的每层服务节点定义统一结构的监控信息,监控服务器直接通过socket接收各服务节点对应的监控信息,并插入至kafka消息队列。监控服务器再通过收集器解析整理调用链路转存到数据库,如此省去了服务节点本地磁盘的日志读取,避免了服务追踪对服务系统本身的性能影响,且实时性更高。
本发明实施例所提供的服务路监控装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种服务链路监控方法,其特征在于,所述方法包括:
接收第一调用请求,根据所述第一调用请求生成监控信息,所述监控信息包括全局跟踪标识、监控标识和父节点标识;
发送第二调用请求给当前服务节点的下一层服务节点,所述第二调用请求包括所述全局跟踪标识及所述监控标识;
当所述当前服务节点的调用结束后,通过套接字socket传输所述监控信息给监控服务器。
2.根据权利要求1所述的方法,其特征在于,当所述第一调用请求为用户请求时,所述根据所述第一调用请求生成监控信息,包括:
创建全局跟踪标识;
生成当前服务节点对应的监控标识,设置所述当前服务节点对应的父节点标识为空;
将所述全局跟踪标识、所述当前服务节点对应的所述监控标识及所述父节点标识组成所述当前服务节点对应的监控信息。
3.根据权利要求1所述的方法,其特征在于,当所述第一调用请求为所述当前服务节点的上一层服务节点传输的调用请求时,所述第一调用请求包括所述全局跟踪标识及所述上一层服务节点对应的监控标识;
相应地,所述根据所述第一调用请求生成监控信息,包括:
将所述上一层服务节点对应的监控标识确定为所述当前服务节点对应的父节点标识;
生成所述当前服务节点对应的监控标识;
将所述全局跟踪标识、所述当前服务器节点对应的所述监控标识及所述父节点标识组成所述当前服务节点对应的监控信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
在所述当前服务节点的调用过程中,存储所述当前服务节点对应的键值信息;
在所述当前服务节点的调用结束后,通过socket传输所述键值信息给所述监控服务器。
5.一种服务链路监控方法,其特征在于,所述方法包括:
接收各服务节点传输的监控信息,所述监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识;
根据接收的所述监控信息,生成服务链路信息。
6.根据权利要求5所述的方法,其特征在于,所述根据接收的所述监控信息,生成服务链路信息,包括:
根据接收的所述监控信息中包括的全局跟踪标识,从接收的所有监控信息中选择出同一用户请求对应的监控信息;
根据所述同一用户请求对应的监控信息中包括的监控标识及父节点标识,生成所述用户请求对应的服务链路信息。
7.根据权利要求5或6所述的方法,其特征在于,所述接收各服务节点传输的监控信息,包括:
通过socket接收各服务节点传输的监控信息,将接收的所述监控信息插入kafka消息队列的队尾。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
通过socket接收所述各服务节点传输的键值信息,根据接收的所述键值信息对所述服务链路信息进行检验。
9.一种服务链路监控装置,其特征在于,所述装置包括:
接收模块,用于接收第一调用请求;
生成模块,用于根据所述第一调用请求生成监控信息,所述监控信息包括全局跟踪标识、监控标识和父节点标识;
发送模块,用于发送第二调用请求给当前服务节点的下一层服务节点,所述第二调用请求包括所述全局跟踪标识及所述监控标识;
传输模块,用于当所述当前服务节点的调用结束后,通过套接字socket传输所述监控信息给监控服务器。
10.一种服务链路监控装置,其特征在于,所述装置包括:
接收模块,用于接收各服务节点传输的监控信息,所述监控信息包括全局跟踪标识、服务节点对应的监控标识和父节点标识;
生成模块,用于根据接收的所述监控信息,生成服务链路信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810302479.2A CN108600045A (zh) | 2018-04-05 | 2018-04-05 | 一种服务链路监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810302479.2A CN108600045A (zh) | 2018-04-05 | 2018-04-05 | 一种服务链路监控方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108600045A true CN108600045A (zh) | 2018-09-28 |
Family
ID=63624575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810302479.2A Pending CN108600045A (zh) | 2018-04-05 | 2018-04-05 | 一种服务链路监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108600045A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495302A (zh) * | 2018-11-16 | 2019-03-19 | 北京车和家信息技术有限公司 | 链路监控方法、云端服务器及计算机可读存储介质 |
CN110191000A (zh) * | 2019-06-10 | 2019-08-30 | 中汇信息技术(上海)有限公司 | 一种数据处理方法、消息追踪监控方法和分布式系统 |
CN110995468A (zh) * | 2019-11-13 | 2020-04-10 | 上海钧正网络科技有限公司 | 待分析系统的系统故障处理方法、装置、设备和存储介质 |
WO2020107342A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 分布式系统中追踪业务执行过程的方法和装置 |
CN111460338A (zh) * | 2020-03-31 | 2020-07-28 | 北京创鑫旅程网络技术有限公司 | 信息查询方法和装置 |
CN111897604A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 服务调用的调用数据处理方法及装置 |
CN112131013A (zh) * | 2019-06-25 | 2020-12-25 | 顺丰科技有限公司 | 分布式系统中调用链的监控方法、装置、设备及存储介质 |
CN112910945A (zh) * | 2020-12-08 | 2021-06-04 | 江苏苏宁云计算有限公司 | 请求链路跟踪方法和业务请求处理方法 |
CN113114612A (zh) * | 2020-01-13 | 2021-07-13 | 北京京东振世信息技术有限公司 | 分布式系统调用链的确定方法和装置 |
CN113448745A (zh) * | 2020-10-14 | 2021-09-28 | 北京新氧万维科技咨询有限公司 | 服务请求的追踪方法、装置及电子设备 |
CN115314542A (zh) * | 2021-04-21 | 2022-11-08 | 深圳联友科技有限公司 | 基于Socket通信协议的链路追踪方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905273A (zh) * | 2014-03-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | Dns劫持的监测方法和装置 |
CN105743865A (zh) * | 2014-12-12 | 2016-07-06 | 上海大潮电子技术有限公司 | 多媒体文件数据传输系统及传输方法 |
CN106209520A (zh) * | 2016-08-23 | 2016-12-07 | 杭州迪普科技有限公司 | 数据链路监测的方法及装置 |
CN106533728A (zh) * | 2015-09-14 | 2017-03-22 | 北京国双科技有限公司 | 服务器信息收集方法和装置 |
CN107135276A (zh) * | 2017-06-28 | 2017-09-05 | 北京中电普华信息技术有限公司 | 一种微服务架构下的全链路监控方法、装置和系统 |
CN107181675A (zh) * | 2017-06-20 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 服务调用方法及装置 |
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
CN107769836A (zh) * | 2017-09-13 | 2018-03-06 | 长光卫星技术有限公司 | 卫星通用自动化测试平台及其数据交互方法 |
-
2018
- 2018-04-05 CN CN201810302479.2A patent/CN108600045A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905273A (zh) * | 2014-03-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | Dns劫持的监测方法和装置 |
CN105743865A (zh) * | 2014-12-12 | 2016-07-06 | 上海大潮电子技术有限公司 | 多媒体文件数据传输系统及传输方法 |
CN106533728A (zh) * | 2015-09-14 | 2017-03-22 | 北京国双科技有限公司 | 服务器信息收集方法和装置 |
CN106209520A (zh) * | 2016-08-23 | 2016-12-07 | 杭州迪普科技有限公司 | 数据链路监测的方法及装置 |
CN107181675A (zh) * | 2017-06-20 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 服务调用方法及装置 |
CN107135276A (zh) * | 2017-06-28 | 2017-09-05 | 北京中电普华信息技术有限公司 | 一种微服务架构下的全链路监控方法、装置和系统 |
CN107769836A (zh) * | 2017-09-13 | 2018-03-06 | 长光卫星技术有限公司 | 卫星通用自动化测试平台及其数据交互方法 |
CN107766205A (zh) * | 2017-10-10 | 2018-03-06 | 武汉大学 | 一种面向微服务调用过程跟踪的监控系统及方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109495302A (zh) * | 2018-11-16 | 2019-03-19 | 北京车和家信息技术有限公司 | 链路监控方法、云端服务器及计算机可读存储介质 |
CN109495302B (zh) * | 2018-11-16 | 2022-07-26 | 北京车和家信息技术有限公司 | 链路监控方法、云端服务器及计算机可读存储介质 |
CN113169900A (zh) * | 2018-11-29 | 2021-07-23 | 华为技术有限公司 | 分布式系统中追踪业务执行过程的方法和装置 |
WO2020107342A1 (zh) * | 2018-11-29 | 2020-06-04 | 华为技术有限公司 | 分布式系统中追踪业务执行过程的方法和装置 |
CN110191000A (zh) * | 2019-06-10 | 2019-08-30 | 中汇信息技术(上海)有限公司 | 一种数据处理方法、消息追踪监控方法和分布式系统 |
CN112131013A (zh) * | 2019-06-25 | 2020-12-25 | 顺丰科技有限公司 | 分布式系统中调用链的监控方法、装置、设备及存储介质 |
CN110995468A (zh) * | 2019-11-13 | 2020-04-10 | 上海钧正网络科技有限公司 | 待分析系统的系统故障处理方法、装置、设备和存储介质 |
CN113114612A (zh) * | 2020-01-13 | 2021-07-13 | 北京京东振世信息技术有限公司 | 分布式系统调用链的确定方法和装置 |
CN111460338A (zh) * | 2020-03-31 | 2020-07-28 | 北京创鑫旅程网络技术有限公司 | 信息查询方法和装置 |
CN111897604A (zh) * | 2020-07-30 | 2020-11-06 | 北京百度网讯科技有限公司 | 服务调用的调用数据处理方法及装置 |
CN111897604B (zh) * | 2020-07-30 | 2023-08-11 | 北京百度网讯科技有限公司 | 服务调用的调用数据处理方法及装置 |
CN113448745A (zh) * | 2020-10-14 | 2021-09-28 | 北京新氧万维科技咨询有限公司 | 服务请求的追踪方法、装置及电子设备 |
CN112910945A (zh) * | 2020-12-08 | 2021-06-04 | 江苏苏宁云计算有限公司 | 请求链路跟踪方法和业务请求处理方法 |
CN115314542A (zh) * | 2021-04-21 | 2022-11-08 | 深圳联友科技有限公司 | 基于Socket通信协议的链路追踪方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600045A (zh) | 一种服务链路监控方法及装置 | |
CN111625452B (zh) | 流量回放方法和系统 | |
CN112422335B (zh) | 技术中台中基于微服务架构实现业务链路分析的方法、系统、装置及存储介质 | |
CN110297766A (zh) | 基于分布式测试节点集群的软件测试方法及软件测试系统 | |
CN103023693B (zh) | 一种行为日志数据管理系统及方法 | |
CN107404481B (zh) | 用户信息识别方法及装置 | |
CN106375458B (zh) | 服务调用系统、方法及装置 | |
CN107844524A (zh) | 数据处理方法、数据处理装置、计算机设备和存储介质 | |
CN110321273A (zh) | 一种业务统计方法及装置 | |
CN109981416A (zh) | 一种区块链性能检测方法与系统 | |
CN101727394A (zh) | 一种对存储设备进行性能测试的方法及装置 | |
CN111694644A (zh) | 基于机器人操作系统的消息处理方法、装置及计算机设备 | |
CN105989163A (zh) | 数据实时处理方法及系统 | |
CN112560114B (zh) | 调用智能合约的方法及装置 | |
CN108132868A (zh) | 一种数据监控方法、装置、计算设备及存储介质 | |
US11113385B2 (en) | Communicating trace information between security zones | |
CN107707644A (zh) | 请求消息的处理方法、装置、存储介质、处理器及终端 | |
CN110442502A (zh) | 一种埋点的方法、装置、设备及存储介质 | |
CN114745295A (zh) | 数据采集方法、装置、设备和可读存储介质 | |
CN112162925A (zh) | 一种基于服务虚拟化的测试方法和系统 | |
CN109978547A (zh) | 风险行为控制方法及系统、设备和存储介质 | |
CN109409948B (zh) | 交易异常检测方法、装置、设备及计算机可读存储介质 | |
CN114416485A (zh) | 数据处理方法及装置 | |
CN112416557B (zh) | 调用关系的确定方法和装置、存储介质及电子装置 | |
CN104363257B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |