CN112988401B - 进程内信息的收集方法、装置和电子设备 - Google Patents

进程内信息的收集方法、装置和电子设备 Download PDF

Info

Publication number
CN112988401B
CN112988401B CN202110494566.4A CN202110494566A CN112988401B CN 112988401 B CN112988401 B CN 112988401B CN 202110494566 A CN202110494566 A CN 202110494566A CN 112988401 B CN112988401 B CN 112988401B
Authority
CN
China
Prior art keywords
information
target resource
resource acquisition
script
address 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.)
Active
Application number
CN202110494566.4A
Other languages
English (en)
Other versions
CN112988401A (zh
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.)
Beijing Easy Yikang Information Technology Co ltd
Original Assignee
Beijing Qingsongchou Information Technology 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 Beijing Qingsongchou Information Technology Co ltd filed Critical Beijing Qingsongchou Information Technology Co ltd
Priority to CN202110494566.4A priority Critical patent/CN112988401B/zh
Publication of CN112988401A publication Critical patent/CN112988401A/zh
Application granted granted Critical
Publication of CN112988401B publication Critical patent/CN112988401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种进程内信息的收集方法、装置和电子设备,客户端SDK基于预设周期遍历资源获取方法列表,执行所述资源获取方法列表中的地址信息对应的目标资源获取脚本以获取目标资源信息,将获取到的所述目标资源信息发送至服务器端,服务器端在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息,从而实现了进程内信息的有效监控,能够实时监控进程内资源信息的状态。

Description

进程内信息的收集方法、装置和电子设备
技术领域
本发明涉及数据处理技术领域,具体涉及一种进程内信息的收集方法、装置和电子设备。
背景技术
随着近年容器生态系统的快速发展,后端服务容器化、微服务化已经成为发展趋势。容器化为服务稳定运行提供了诸如服务编排、资源隔离、弹性扩容等诸多便利,同时也带来了新的运维问题。对比传统架构服务部署下的运维监控数据指标收集方式,容器化部署的服务需要收集更多、更详细的运行数据以确保在服务即将发生故障时能够提前收到预警,快速排查问题。
传统运维数据收集大多以进程为最小单位,收集基于进程的资源使用情况(例如进程占用CPU、内存等),并不能通过这些数据观察到进程内部的资源信息,也就是说无法获取进程内部的资源信息,从而无法实现进程内部的监控。
发明内容
有鉴于此,本发明实施例提供一种进程内信息的收集方法、装置和电子设备,其能够有效获取到进程内资源的状态信息,从而实现实时监控进程内的资源信息的状态。
为实现上述目的,本发明实施例提供如下技术方案:
一种进程内信息的收集方法,其特征在于,所述方法包括:
在客户端SDK内建立资源获取方法列表;所述资源获取方法列表中注册有目标资源获取脚本的地址信息,所述目标资源获取脚本在被触发时用于获取进程内的目标资源信息;
所述客户端SDK基于预设周期遍历所述资源获取方法列表中的地址信息;
执行遍历到的地址信息对应的目标资源获取脚本获取所述目标资源信息;
将获取到的所述目标资源信息发送至服务器端;
所述服务器端在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息。
可选地,上述进程内信息的收集方法中,所述目标资源信息包括内存细节信息、数据库连接池信息和缓存连接池信息中的一项或多项的组合。
可选地,上述进程内信息的收集方法中,所述方法还包括:
当获取到资源获取方法列表的操作指令时,基于获取到的所述操作指令对所述资源获取方法列表进行编辑操作,所述编辑操作包括:对所述资源获取方法列表中的目标资源获取脚本的地址信息进行修改、增加、删除、排序中的一项或多项的组合。
可选地,上述进程内信息的收集方法中,所述目标资源获取脚本内置于预设的信息收集器中;对所述资源获取方法列表中的目标资源获取脚本的地址信息进行增加操作,包括:
将待增加的目标资源获取脚本的地址信息配置于预设的信息收集器中;
通过调用指令提取所述待增加的目标资源获取脚本在所述信息收集器中的地址信息,将所述待增加的目标资源获取脚本的地址信息以增加的方式写入所述资源获取方法列表。
可选地,上述进程内信息的收集方法中,执行遍历到的地址信息对应的目标资源获取脚本获取所述目标资源信息包括:
判断遍历所述资源获取方法列表时遍历到的地址信息是否处于激活状态,如果所述地址信息处于激活状态,基于所述地址信息调用并执行所述地址信息对应的目标资源获取脚本,通过所述目标资源获取脚本获取目标资源信息。
可选地,上述进程内信息的收集方法中,所述目标资源获取脚本包括MemoryCollector脚本、MysqlPoolCollector脚本、RedisPoolCollector脚本中的一项或多项的组合。
可选地,上述进程内信息的收集方法中,所述客户端SDK设置为多个,所述服务器端在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息,包括:
所述服务器端在获取到多个所述客户端SDK发送的目标资源信息后,对所述N多个所述客户端SDK发送的目标资源信息进行解析,并存储解析后的目标资源信息。
可选地,上述进程内信息的收集方法中,存储解析后的目标资源信息之后还包括:
获取并响应人机交互平台对所述服务器端存储的目标资源信息的操作指令。
可选地,上述进程内信息的收集方法中,对所述目标资源信息进行解析之后,还包括:
基于预设规则对解析后的目标资源信息进行异常分析;
当解析后的资源数据异常时,生成与异常的资源数据相匹配的预警消息。
一种进程内信息的收集装置,包括:客户端SDK和服务器端;
所述客户端SDK用于:在客户端SDK内建立资源获取方法列表;所述资源获取方法列表中注册有目标资源获取脚本的地址信息,所述目标资源获取脚本在被触发时用于获取进程内的目标资源信息;所述客户端SDK基于预设周期遍历所述资源获取方法列表中的地址信息;执行遍历到的地址信息对应的目标资源获取脚本获取目标资源信息;将获取到的所述目标资源信息发送至服务器端;
所述服务器端用于在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息。
一种电子设备,包括上述进程内信息的收集装置。
基于上述技术方案,在本发明实施例提供的上述方案中,通过在客户端SDK内建立资源获取方法列表,并将目标资源获取脚本的地址信息注册于资源获取方法列表中,则在客户端SDK基于预设周期遍历资源获取方法列表时,当遍历到资源获取方法列表中的某一地址信息时,可以触发并执行与所述地址信息相匹配的目标资源获取脚本,当目标资源获取脚本被触发执行时,会获取到与目标资源获取脚本对应的进程内的目标资源信息,最终由服务器端解析并存储由所述目标资源获取脚本获取到的进程内的目标资源信息,用以将进程内的目标资源信息收集利用,从而有效获取到进程内资源的状态信息,进而实现实时监控进程内资源信息的状态。
进一步地,通过遍历资源获取方法列表的方式能够做到自动获取目标资源信息,而无需在每次获取目标资源信息时要重复进行编写代码或人工操作的额外操作,从而提高了监控效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的进程内信息的收集方法的流程示意图;
图2为本申请实施例公开的客户端SDK的数据处理流程图;
图3为本申请实施例公开的服务器端的数据处理流程图;
图4为本申请实施例公开的客户端SDK、服务器端以及人机交互平台之间的数据流程示意图;
图5为本申请实施例公开的进程内信息的收集装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了在微服务容器化部署运维的架构下,能够对系统进程运行时的内部资源信息如CPU时间、内存分配次数、内存分配大小、垃圾回收次数、MYSQL连接池状态、REDIS连接池状态、指定对象的内存占用等进行收集、上报、分析,本申请公开了一种进程内信息的收集方法,该方法可以应用于相互配合的客户端SDK和服务器端中。其中,客户端SDK可设置为一个或多个。也就是说,每一个服务器端可以对应有一个或两个以上的客户端SDK。
参见图1,本申请实施例公开的进程内信息的收集方法可以包括:
步骤S101:在客户端SDK内建立资源获取方法列表;
本步骤中,在本申请实施例公开的技术方案中,在执行本申请实施例公开的方法时,首先在每一个客户端SDK内创建资源获取方法列表,所述资源获取方法列表内注册有目标资源获取脚本的地址信息,所述目标资源获取脚本在被触发执行时,用于获取进程内的目标资源信息,其中,在本方案中,所述客户端SDK中加载有SDK程序,客户端SDK通过所述SDK程序定义资源获取方法列表,资源获取方法列表可基于预设的信息收集器通过接口识别待注册的目标资源获取脚本,如果待注册的目标资源获取脚本可配置于信息收集器中,也就是说,待注册的目标资源获取脚本与信息收集器匹配,则可以通过调用注册接口(例如Register接口)的方法将所述待注册的目标资源获取脚本的地址信息注册到资源获取方法列表中。例如,信息收集器可为信息收集类InfoCollector。不同的目标资源获取脚本对应不同的目标资源信息,在设计时,可以基于所需监控的目标资源信息配置对应的目标资源获取脚本,将该目标资源获取脚本的地址信息写入所述资源获取方法列表,在本申请实施例公开的技术方案中,操作者可以通过接口基于实际需求对所述资源获取方法列表中的地址信息进行编辑,编辑可以包括增加、删除或修改。
步骤S102:客户端SDK基于预设周期遍历资源获取方法列表中的地址信息;
步骤S103:执行遍历到的地址信息对应的目标资源获取脚本获取目标资源信息;
在本方案中,客户端SDK内的SDK程序可以设置有定时器,通过定时器维护预设周期,预设周期表示执行遍历操作的时间间隔,该定时器随客户端SDK启动而启动,通过调整定时器的定时参数,可以调节资源获取方法列表的遍历周期。在步骤S102和S103中,客户端SDK基于预设周期依次遍历资源获取方法列表中的各个地址信息,预设周期的周期长度可以基于用户需求自行设置,目标资源获取脚本在客户端SDK遍历资源获取方法列表的情况下被触发,当遍历到资源获取方法列表中的某一地址信息时,触发并执行与所述地址信息相匹配的目标资源获取脚本。当目标资源获取脚本被触发执行时,会获取到与目标资源获取脚本对应的进程内的目标资源信息。因此,一方面,本发明可以通过自定义预设周期来自动执行资源获取方法列表的遍历操作,以自行指定目标资源信息的收集频次;另一方面,本发明还可以根据自身需要从资源获取方法列表中通过所需要的目标资源获取脚本获取到对应的目标资源信息。
步骤S104:将获取到的目标资源信息发送至服务器端;
在本步骤中,当通过触发执行目标资源获取脚本获取到目标资源信息以后,客户端SDK可以通过有线或无线的方式将获取到的目标资源信息发送给服务器端;
步骤S105:服务器端在获取到客户端SDK发送的目标资源信息后,对目标资源信息进行解析,并存储解析后的目标资源信息。
在本方案中,服务器端加载有预设程序,通过预设程度实现客户端SDK输出的目标资源信息的数据资源接收、数据存储、数据分析功能等。在本方案中,客户端SDK与服务器端支持通过网络协议传输接收数据,将数据校验、格式化后存储至存储介质后,对数据进行自定义规则分析。因此,通过服务器端接收并存储由所述目标资源获取脚本获取到进程内的目标资源信息,用以将进程内的目标资源信息收集以进一步利用起来,从而直接有效地获取到进程内资源的状态信息,以能够实时监控到进程内资源信息的状态。另外,本发明可以实现自动获取进程内资源的状态信息,而无需针对不同目标资源信息进行重复性编写代码的人工操作进行信息获取,从而提高信息收集和获取的效率。
在一些实施例中,目标资源信息可以包括内存细节信息、数据库连接池信息和缓存连接池信息中的一项或多项的组合。即,资源获取方法列表中记录有内存细节信息获取脚本、数据库连接池信息获取脚本和/或缓存连接池信息获取脚本中的一项或多项的组合。
具体地,例如,目标资源获取脚本可包括MemoryCollector脚本、MysqlPoolCollector脚本以及RedisPoolCollector脚本,但不限于此,目标资源获取脚本还可包括其它类型的目标资源获取脚本,也就是说其它类型的目标资源获取脚本也可注册于资源获取方法列表中,只要待注册的目标资源获取脚本与信息收集器匹配,则可以将其注册到资源获取方法列表中。例如,信息收集器可为信息收集类InfoCollector。其它类型的目标资源获取脚本对应有其它目标资源信息内容。本申请通过注册在资源获取方法列表中的MemoryCollector脚本获取到的目标资源信息可包括诸如内存分配次数、内存分配大小以及垃圾回收次数等的内存细节信息。本申请通过注册在资源获取方法列表中的MysqlPoolCollector脚本获取到的目标资源信息可包括诸如当前连接数、空闲连接数、连接存活时间等的数据库连接池信息。本申请通过注册在资源获取方法列表中的RedisPoolCollector脚本获取到的目标资源信息可包括诸如当前连接数、空闲连接数、最大连接时长等的缓存连接池信息。
在一些实施例中,本发明可以根据实际需求对资源获取方法列表中的地址信息进行编辑,用户可通过向客户端SDK键入操作指令的方式,编辑资源获取方法列表中的地址信息,客户端SDK在获取到资源获取方法列表的操作指令时,基于获取到的操作指令对资源获取方法列表进行编辑操作,编辑操作可包括:对资源获取方法列表中的目标资源获取脚本的地址信息进行修改、增加、删除、排序中的一项或多项的组合。因此,在客户端系统程序运行时,可根据接收到的外部指令或信号通过对资源获取方法列表操作来动态调整资源获取方法列表中的目标资源获取脚本的地址信息,以获取到希望收集到的目标资源信息,进而针对性地获取数据以进一步将数据用于监控和分析等。例如,本申请实施例公开的技术方案可以通过操作指令将MemoryCollector脚本的地址信息、MysqlPoolCollector脚本的地址信息、RedisPoolCollector脚本的地址信息写入资源获取方法列表。其中,MemoryCollector脚本、MysqlPoolCollector脚本、RedisPoolCollector脚本分别用于获取内存细节信息(内存分配次数、内存分配大小、垃圾回收次数等)、数据库连接池信息(当前连接数、空闲连接数、连接存活时间等)、缓存连接池信息(当前连接数、空闲连接数、最大连接时长等)。在这里补充说明的是,也可以根据实际需求将其他脚本写入资源获取方法列表中,只要目标资源获取脚本与资源获取方法列表的接入标准匹配,就可以将目标资源获取脚本的地址信息注册到资源获取方法列表中。
在一些实施例中,目标资源获取脚本内置于预设的信息收集器中,信息收集器可为信息收集类InfoCollector。要将目标资源获取脚本注册于资源获取方法列表中,可首先使目标资源获取脚本配置于信息收集器中。对资源获取方法列表中的目标资源获取脚本的地址信息进行增加操作,包括:将待增加的目标资源获取脚本的地址信息配置于所述信息收集器中;通过调用指令提取待增加的目标资源获取脚本在信息收集器中的地址信息,将待增加的目标资源获取脚本在信息收集器中的地址信息以增加的方式写入资源获取方法列表。其中信息收集器可以内置于客户端SDK中,或者是,独立于客户端SDK存在,在本方案中,多个客户端SDK可以拥有各自独立的信息收集器,多个客户端SDK也可以共用一个信息收集器 InfoCollector。
结合定时器以及信息收集器的实施例,对本申请中客户端SDK的工作流程进行介绍,参见图2,客户端SDK的工作流程包括:
客户端SDK在启动时,加载资源获取方法列表,所谓的加载资源获取方法列表指的是将信息收集器的目标资源获取脚本的地址信息写入资源获取方法列表中,在客户端SDK启动时,启动定时器,当定时器的指定时间到来时,遍历资源获取方法列表中的地址信息,通过触发执行遍历到的地址信息对应的目标资源获取脚本,获得目标资源信息,然后将获取到的目标资源信息发送到服务器端,并继续等待定时器的下一周期到来。
在一些实施例中,可以为资源获取方法列表中的地址信息配置响应的激活状态来判断在遍历到该地址信息时是否触发该地址信息对应的目标资源获取脚本,在本方案中,可以将资源获取方法列表中的地址信息分为激活状态和非激活状态两种,在遍历过程中,只触发执行处于激活状态的地址信息对应的目标资源获取脚本,而无需执行处于非激活状态的地址信息对应的目标资源获取脚本,即,上述方案中,执行遍历到的地址信息对应的目标资源获取脚本获取所述目标资源信息,具体可以包括:判断遍历资源获取方法列表时遍历到的地址信息是否处于激活状态,如果地址信息处于激活状态,基于地址信息调用并执行地址信息对应的目标资源获取脚本,通过目标资源获取脚本获取目标资源信息,如果地址信息处于非激活状态,跳过该地址信息继续遍历下一地址信息。
在一些实施例中,服务器端可以对应多个客户端SDK,因此,上述方案中,所述服务器端在获取到客户端SDK发送的目标资源信息,对目标资源信息进行解析,并存储解析后的目标资源信息,包括:服务器端在获取到多个客户端SDK发送的目标资源信息后,对多个客户端SDK发送的目标资源信息进行解析,并存储解析后的目标资源信息。因此,本发明通过多个客户端SDK与服务器端的连接,各客户端SDK内建立有资源获取方法列表,通过资源获取方法列表获取到与目标资源获取脚本对应的进程内的目标资源信息,以实现直接获取进程内的资源信息,对多个客户端SDK中的每一个客户端SDK都通过资源获取方法列表的方式,自动收集相应进程内的资源信息,从而能够实现对多个客户端的进程内部资源的状态信息实现自动和直接地监控,而无需进行二次开发。
在一些实施例中,操作者可以通过人机交互平台对服务器端存储的目标资源信息进行编辑,所述编辑包括但不限于查看、增加、修改、删除等,即,上述方案中服务器端在存储解析后的目标资源信息之后,还可以获取并响应用户通过人机交互平台对服务器端存储的目标资源信息的操作指令,通过操作指令对目标资源信息进行编辑。因此,用户可以通过人际交互平台实现了客户端SDK的进程内资源信息的状态的可视化,并且可以通过对目标资源信息进行编辑的方式,对所述目标资源信息进行调整,删除目标资源信息中的无用数据、修正目标资源信息中的异常数据或者是标注目标资源信息中的重点数据等。
在本实施例公开的技术方案中,服务器端对资源数据进行解析之后,还可以依据预设的判断逻辑对解析结果进行分析,以判断目标资源信息是否存在异常,即,上述方案中,服务器端存储解析后的目标资源信息之后,还包括:基于预设规则(异常数据分析规则)对解析后的资源数据进行异常分析;
当解析后的资源数据异常时,生成与异常的资源数据相匹配的预警消息。
在本申请上述实施例公开的技术方案中,服务器端的数据收集程序基于TCP服务实现。即,服务器端启动后对客户端SDK提供TCP服务,通过TCP服务可以接收客户端SDK按照约定数据格式发送的目标资源信息,服务器端对目标资源信息进行解析后将解析数据发送至存储器进行存储操作,并同时还可以将解析数据传递到服务内置的数据分析器中,数据分析器根据定制的异常数据分析规则对上报的解析数据进行测算分析,对达到预警标准的解析数据将调用预警消息处理器进行发送报警操作,该报警操作可以发送给客户端SDK也可以发送给人机交互平台端。
具体地,参见图3,服务器端的数据处理流程可以包括:
当服务器端启动时,启动HTTP服务和TCP服务,HTTP服务启动后,响应人机交互平台的操作指令,服务器端中的查询器基于操作指令处理(查看或编辑等)存储器中存储的目标资源信息,TCP服务启动后,服务器端等待客户端SDK的上传的目标资源信息的到来,当接收到目标资源信息后,存储目标资源信息至存储器,同时采用数据分析器分析目标资源信息,基于分析结果判断目标资源信息是否出现异常,如果出现异常,控制预警消息处理器执行报警操作,并等待接收下一个目标资源信息,如果没有出现异常,等待接收下一个目标资源信息。
在本方案中,人机交互平台端可以集成于服务器端,服务器端端数据展示程序基于HTTP服务器端实现。通过HTTP服务对用户提供可视化界面,可以提供对服务期内的存储数据的查看、导出、制作报表等查询功能,参见图4,人机交互平台通过HTTP服务与服务器端中的查询器进行数据交互,将用户操作指令通过HTTP服务发送给查询器,查询器在获取到操作指令后,基于操作指令处理存储介质中存储的目标资源信息。
在本方案中,用户也可以通过人机交互平台对服务器端中的异常数据分析规则、预警规则进行配置,灵活调整服务的异常数据分析规则和报警策略。
对应于上述方法,本申请还公开了一种进程内信息的收集装置,本实施例中,装置中各个单元的具体工作内容,请参见上述方法实施例的内容。
下面对本发明实施例提供的进程内信息的收集装置进行描述,下文描述的进程内信息的收集装置与上文描述的进程内信息的收集方法可相互对应参照。
参见图5,该装置包括:客户端SDK 100和服务器端200,其中,客户端SDK 100的数量可以为多个;
客户端SDK 100用于:在客户端SDK内建立资源获取方法列表;资源获取方法列表中注册有目标资源获取脚本的地址信息,目标资源获取脚本在被触发时用于获取进程内的目标资源信息;客户端SDK基于预设周期遍历资源获取方法列表中的地址信息,执行遍历到的资源获取方法列表中的地址信息对应的目标资源获取脚本以获取目标资源信息;将获取到的目标资源信息发送至服务器端;;
服务器端200用于在获取到客户端SDK发送的目标资源信息后,对目标资源信息进行解析,并存储解析后的目标资源信息。
与上述方法相对应,客户端SDK还用于:当获取到资源获取方法列表的操作指令时,基于获取到的操作指令对资源获取方法列表进行编辑操作,编辑操作包括:对资源获取方法列表中的目标资源获取脚本的地址信息进行修改、增加、删除、排序中的一项或多项的组合。
与上述方法相对应,上述装置还可以包括信息收集器,目标资源获取脚本内置于预设的信息收集器中;客户端SDK在对资源获取方法列表中的目标资源获取脚本的地址信息进行增加操作时,具体包括:
将待增加的目标资源获取脚本的地址信息配置于预设的信息收集器中;
通过调用指令提取所需增加的目标资源获取脚本在信息收集器中的地址信息,将待增加的目标资源获取脚本的地址信息以增加的方式写入资源获取方法列表。
与上述方法相对应,客户端SDK在执行资源获取方法列表中的地址信息对应的目标资源获取脚本获取目标资源信息时,具体用于:
判断遍历资源获取方法列表时遍历到的地址信息是否处于激活状态,如果地址信息处于激活状态,基于地址信息调用并执行地址信息对应的目标资源获取脚本,通过所述目标资源获取脚本获取目标资源信息。
与上述方法相对应,上述装置中还可以包括人机交互平台,服务器端还用于获取并响应人机交互平台对服务器端存储的目标资源信息的操作指令。
在一些实施例中,服务器端还用于基于预设规则对解析后的目标资源信息进行异常分析;当解析后的资源数据异常时,生成与异常的资源数据相匹配的预警消息。
本发明还提供一种电子设备,其包括前述的进程内信息的收集装置,或者包括使用本发明的进程内信息的收集方法的任何装置。
本发明还提供一种非暂态电子设备可读存储介质,其包括:程序,当其藉由电子设备运行时,使得所述电子设备本发明的进程内信息的收集方法。
为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种进程内信息的收集方法,其特征在于,所述方法包括:
在客户端SDK内建立资源获取方法列表;所述资源获取方法列表中注册有目标资源获取脚本的地址信息,所述目标资源获取脚本在被触发时用于获取进程内的目标资源信息;其中,所述客户端SDK通过基于信息收集器的注册接口识别待注册的目标资源获取脚本,并将识别出的待注册的目标资源获取脚本的地址信息注册至所述资源获取方法列表;
所述客户端SDK基于预设周期遍历所述资源获取方法列表中的地址信息;
执行遍历到的地址信息对应的目标资源获取脚本获取所述目标资源信息;
将获取到的所述目标资源信息发送至服务器端;
所述服务器端在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息。
2.根据权利要求1所述的进程内信息的收集方法,其特征在于,所述目标资源信息包括内存细节信息、数据库连接池信息和缓存连接池信息中的一项或多项的组合。
3.根据权利要求1所述的进程内信息的收集方法,其特征在于,所述方法还包括:
当获取到资源获取方法列表的操作指令时,基于获取到的所述操作指令对所述资源获取方法列表进行编辑操作,所述编辑操作包括:对所述资源获取方法列表中的目标资源获取脚本的地址信息进行修改、增加、删除、排序中的一项或多项的组合。
4.根据权利要求3所述的进程内信息的收集方法,其特征在于,所述目标资源获取脚本内置于预设的信息收集器中;对所述资源获取方法列表中的目标资源获取脚本的地址信息进行增加操作,包括:
将待增加的目标资源获取脚本的地址信息配置于预设的信息收集器中;
通过调用指令提取所述待增加的目标资源获取脚本在所述信息收集器中的地址信息,将所述待增加的目标资源获取脚本的地址信息以增加的方式写入所述资源获取方法列表。
5.根据权利要求1所述的进程内信息的收集方法,其特征在于,执行遍历到的地址信息对应的目标资源获取脚本获取所述目标资源信息包括:
判断遍历所述资源获取方法列表时遍历到的地址信息是否处于激活状态,如果所述地址信息处于激活状态,基于所述地址信息调用并执行所述地址信息对应的目标资源获取脚本,通过所述目标资源获取脚本获取目标资源信息。
6.根据权利要求1所述的进程内信息的收集方法,其特征在于,所述目标资源获取脚本包括MemoryCollector脚本、MysqlPoolCollector脚本、RedisPoolCollector脚本中的一项或多项的组合。
7.根据权利要求1所述的进程内信息的收集方法,其特征在于,所述客户端SDK设置为多个,所述服务器端在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息,包括:
所述服务器端在获取到多个所述客户端SDK发送的目标资源信息后,对所述多个所述客户端SDK发送的目标资源信息进行解析,并存储解析后的目标资源信息。
8.根据权利要求1所述的进程内信息的收集方法,其特征在于,存储解析后的目标资源信息之后还包括:
获取并响应人机交互平台对所述服务器端存储的目标资源信息的操作指令。
9.根据权利要求1所述的进程内信息的收集方法,其特征在于,对所述目标资源信息进行解析之后,还包括:
基于预设规则对解析后的目标资源信息进行异常分析;
当解析后的资源数据异常时,生成与异常的资源数据相匹配的预警消息。
10.一种进程内信息的收集装置,其特征在于,包括:客户端SDK和服务器端;
所述客户端SDK用于:在客户端SDK内建立资源获取方法列表;所述资源获取方法列表中注册有目标资源获取脚本的地址信息,所述目标资源获取脚本在被触发时用于获取进程内的目标资源信息;所述客户端SDK基于预设周期遍历所述资源获取方法列表中的地址信息;执行遍历到的地址信息对应的目标资源获取脚本获取目标资源信息;将获取到的所述目标资源信息发送至服务器端;其中,所述客户端SDK通过基于信息收集器的注册接口识别待注册的目标资源获取脚本,并将识别出的待注册的目标资源获取脚本的地址信息注册至所述资源获取方法列表;
所述服务器端用于在获取到所述客户端SDK发送的目标资源信息后,对所述目标资源信息进行解析,并存储解析后的目标资源信息。
11.一种电子设备,其特征在于,包括权利要求10所述的进程内信息的收集装置。
CN202110494566.4A 2021-05-07 2021-05-07 进程内信息的收集方法、装置和电子设备 Active CN112988401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110494566.4A CN112988401B (zh) 2021-05-07 2021-05-07 进程内信息的收集方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110494566.4A CN112988401B (zh) 2021-05-07 2021-05-07 进程内信息的收集方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN112988401A CN112988401A (zh) 2021-06-18
CN112988401B true CN112988401B (zh) 2021-08-17

Family

ID=76337179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110494566.4A Active CN112988401B (zh) 2021-05-07 2021-05-07 进程内信息的收集方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN112988401B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102217234A (zh) * 2009-05-08 2011-10-12 圣斯马来西亚大学 实时分布式网络监控和安全监控平台
CN101840352B (zh) * 2010-04-29 2014-09-10 中兴通讯股份有限公司 一种数据库连接池的监控方法及装置
CN104980524A (zh) * 2015-07-10 2015-10-14 上海新炬网络信息技术有限公司 一种weblogic连接池失效监测方法
CN109697078B (zh) * 2018-12-10 2022-02-08 中国联合网络通信集团有限公司 非高可用性组件的修复方法、大数据集群和容器服务平台
CN109800067A (zh) * 2018-12-15 2019-05-24 中国平安人寿保险股份有限公司 基于云监控的数据库连接优化方法、装置及相关设备
CN110347569A (zh) * 2019-06-28 2019-10-18 浙江吉利控股集团有限公司 一种服务器性能数据采集方法及装置
CN112035323A (zh) * 2020-09-01 2020-12-04 浪潮云信息技术股份公司 一种使用ansible框架监控redis集群的方法及工具
CN112187933B (zh) * 2020-09-29 2022-12-20 苏州浪潮智能科技有限公司 一种多架构云平台中服务的监控方法和系统

Also Published As

Publication number Publication date
CN112988401A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN108874268B (zh) 用户行为数据的采集方法及装置
CN105376335B (zh) 一种采集数据上传方法和装置
CN109885496B (zh) 测试日志管理方法及系统
CN107957940B (zh) 一种测试日志处理方法、系统及终端
CN112256542B (zh) 基于eBPF的微服务系统性能检测方法、装置和系统
CN110851324B (zh) 基于日志的巡检处理方法、装置以及电子设备、存储介质
CN104598369A (zh) 在移动设备中实现的软件监控方法和装置
CN110941553A (zh) 一种代码检测方法、装置、设备及可读存储介质
CN112423135A (zh) 视频回放的信息处理方法、装置、计算机设备和存储介质
CN111159520A (zh) 样本鉴定方法、装置及安全应急响应系统
CN104468288A (zh) 终端网络数据测试方法及装置
CN112988401B (zh) 进程内信息的收集方法、装置和电子设备
CN111049684B (zh) 数据分析方法、装置、设备和存储介质
CN116662204A (zh) 一种无码测试案例生成方法、装置、系统及存储介质
CN109614382A (zh) 一种应用的日志分割方法及装置
CN113507721B (zh) 一种网络状态监测方法、装置、系统及存储介质
CN115373714A (zh) 车辆的数据处理方法、系统、设备及存储介质
CN111161732B (zh) 语音采集方法、装置、电子设备及存储介质
CN113190458A (zh) 自动埋点数据分析的方法、装置、计算机设备和存储介质
CN115599881A (zh) 工作流创建方法、系统、电子设备和计算机可读存储介质
CN112860469A (zh) 一种卡顿日志信息收集方法、装置、设备及存储介质
CN114816942B (zh) 移动端应用稳定性监控方法、装置、电子设备和存储介质
CN112822075A (zh) 一种业务链路追踪方法及相关装置
CN111045950B (zh) 性能问题点确定方法、装置、数据分析系统及存储介质
CN111459773B (zh) swagger服务监控与告警系统及方法

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing

Patentee after: Beijing Easy Yikang Information Technology Co.,Ltd.

Address before: Room 716, 7 / F, building 2, 28 Andingmen East Street, Dongcheng District, Beijing

Patentee before: BEIJING QINGSONGCHOU INFORMATION TECHNOLOGY Co.,Ltd.