监控方法、装置及系统与流程
未命名
07-22
阅读:98
评论:0
1.本公开涉及计算机技术领域,尤其涉及一种监控方法、装置及系统。
背景技术:
2.随着计算机行业的迅速发展,计算机系统的架构逐步由单体式向微服务演进。
3.相关技术中,针对计算机系统中应用程序的监控,通常是在调用关键位置植入执行性能监控任务的计算机程序代码,以记录应用程序的监控调用过程。
4.这种方式下,监控成本较高,需要在应用程序中预先植入执行监控任务的计算机程序代码,从而会对应用程序的原有代码造成入侵,增加了开发成本,也导致维护和扩展困难,影响监控效果。
技术实现要素:
5.本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
6.为此,本公开的目的在于提出一种监控方法、装置及系统,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
7.本公开第一方面实施例提出的监控方法,包括:获取所述第一目标应用程序的服务调用信息;将所述服务调用信息写入本地日志,使日志采集装置能够采集到所述本地日志、从所述本地日志中解析出所述服务调用信息并进行存储;响应于对第二目标应用程序的监控查看请求,从所述日志采集装置中获取与所述监控查看请求对应的服务调用信息,根据所述服务调用信息生成监控报告以供查看。
8.本公开第一方面实施例提出的监控方法,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
9.本公开第二方面实施例提出的监控装置,包括:获取模块,用于取所述第一目标应用程序的服务调用信息;解析模块,将所述服务调用信息写入本地日志,使日志采集装置能够采集到所述本地日志、从所述本地日志中解析出所述服务调用信息并进行存储;生成模块,用于响应于对第二目标应用程序的监控查看请求,从所述日志采集装置中获取与所述监控查看请求对应的服务调用信息,根据所述服务调用信息生成监控报告以供查看。
10.本公开第二方面实施例提出的监控装置,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中
解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
11.本公开第三方面实施例提出的监控系统,其特征在于,包括应用服务器,监控装置,日志采集装置;所述应用服务器中部署有待监控的第一目标应用程序;所述应用服务器用于向所述监控装置提供第一目标应用程序的服务调用信息;所述日志采集装置用于采集所述监控装置的本地日志,并从所述本地日志中解析出所述服务调用信息并进行存储;以及用于向所述日志采集装置提供与监控查看请求对应的服务调用信息。
12.本公开第三方面实施例提出的监控系统,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
13.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
14.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
15.图1是本公开一实施例提出的监控方法的流程示意图;
16.图2是本公开实施例中的监控时序示意图;
17.图3是本公开另一实施例提出的监控方法的流程示意图;
18.图4是实施例中数据采集网络拓扑示意图;
19.图5是本公开实施例中数据存储流程图;
20.图6是本公开实施例中数据采集流程示意图;
21.图7是本公开一实施例提出的监控装置的结构示意图;
22.图8是本公开另一实施例提出的监控装置的结构示意图;
23.图9是本公开一实施例提出的监控系统的结构示意图;
24.图10示出了适于用来实现本公开实施方式的示例性计算机设备的框图。
具体实施方式
25.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。相反,本公开的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同
物。
26.一些应用场景中,在目前的计算机行业中,计算机系统的架构多演变为微服务架构,多种微服务之间的调用机制支持远程过程调用(remote procedure call,rpc),为了解决相关技术中计算机系统中的监控效率不高,监控成本较高的技术问题,本公开实施例中提供了一种监控方法,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现直接根据第一目标应用程序的服务调用信息响应第二目标应用程序的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
27.图1是本公开一实施例提出的监控方法的流程示意图。
28.其中,需要说明的是,本实施例的监控方法的执行主体为监控装置,该装置可以由软件和/或硬件的方式实现,该装置可以配置在计算机设备中,计算机设备可以包括但不限于终端、服务器端等。
29.该监控装置可以被用于监控第一目标应用程序的服务调用情况,其中,服务调用情况,可以例如应用程序中各种服务之间调用类型、调用时间、调用函数等,对此不做限制。
30.如图1所示,该监控方法包括:
31.s101:获取第一目标应用程序的服务调用信息。
32.其中,当前待对其涉及的微服务或者服务的调用信息进行监控的应用程序,可以被称为第一目标应用程序,而服务调用信息,则可以是指微服务或者服务的调用情况。
33.本公开实施例中,可以针对监控装置配置相应的监控接口,在获取目标应用程序运行过程中的服务调用信息之前,可以配置监控装置将该监控接口相关的接口信息提供至第一目标应用程序,以使得第一目标应用程序能够及时地注册该相关的接口信息,辅助第一目标应用程序主动地上报服务调用信息。
34.其中,该监控接口相关的接口信息,可以例如为接口名称、接口调用地址、接口函数等,对此不做限制。
35.本公开实施例中,在针对监控装置配置相应的监控接口,并将该监控接口相关的接口信息提供至第一目标应用程序之后,可以配置第一目标应用程序预先注册相应的监控接口,从而基于该监控接口主动向监控装置上报自身包含的服务调用信息,由此,可以由监控装置监控是否接收到第一目标应用程序上报的服务调用信息,并及时地获取第一目标应用程序的服务调用信息。
36.举例而言,在将监控接口相关的接口信息提供至目标应用程序时,可以选用dubbo服务治理平台赋予该监控接口的信息上报功能,dubbo是一个分布式服务框架,能够提供高性能和透明化的rpc远程服务调用策略。dubbo实现服务调用是通过rpc的方式,即客户端和服务端共用一个接口,客户端面向接口写调用,服务端面向接口写实现逻辑,由分布式服务框架实现客户端和服务端之间的网络通信,当第一目标程序注册了上述监控装置的监控接口之后,可以实时地将服务调用信息上报至dubbo服务治理平台。
37.上述的监控装置可以支持用户查看应用程序的服务调用情况,还可以展示接口相关的接口信息,以及调用情况的统计图表和详细记录。
38.s102:将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储。
39.其中,日志是指可以用于存储服务调用信息的信息文件,本地日志是指产生服务
调用信息的第一目标应用程序端的日志文件,日志采集装置可以用于采集本地日志。
40.本公开实施例中,当第一目标应用程序注册了上述监控装置的监控接口之后,可以实时地将服务调用信息上报至dubbo服务治理平台,并将服务调用信息写入本地日志中,而后,可以经由日志采集装置采集获取该本地日志,而后可以对本地日志进行解析处理,以从本地日志中解析出服务调用信息并进行存储,并将该服务调用信息传输至elastic search分析引擎中进行数据分析处理,而后触发后续步骤。
41.其中,elastic search分析引擎是一个分布式、高扩展、高实时的搜索与数据分析引擎。
42.s103:响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看。
43.其中,第二目标应用程序是待对其进行监控查看的应用程序,可以响应于对第二目标应用程序的监控查看请求对第二目标应用程序进行监控查看。
44.其中,监控报表是指对用于对应用程序的服务调用情况进行汇总展示的数据报表,该监控报表可以是针对服务调用信息的汇总信息,该汇总信息的形式可以是调用情况的统计图表和详细记录,或者还可以是其他形式的汇总信息,对此不做限制。
45.本公开实施例在上述将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储之后,可以响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看。
46.本公开实施例中,在响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息时,可以获取对第二目标应用程序的监控查看请求,并对监控查看请求进行解析处理,以得到针对第二目标应用程序所需要获取的与监控查看请求对应的服务调用信息,而后可以从日志采集装置中获取与监控查看请求对应的服务调用信息,并利用数据分析引擎对服务调用信息进行数据分析处理,以获取统计图表和详细记录等形式的服务调用信息汇总信息,生成对应的监控报告以供查看。
47.如图2所示,图2是本公开实施例中的监控时序示意图,用户可以在dubbo服务治理平台配置程序白名单,该程序白名单中的应用程序,可以被视为用户指定的需要对其进行监控的第一目标应用程序,而后,可以由dubbo服务治理平台针对监控装置(该监控装置可以例如配置在dubbo监控中心)配置相应的监控接口,第一目标应用程序在dubbo服务治理平台注册该监控接口之后,可以实时地将自身涉及的微服务或者服务之间的服务调用信息上报至dubbo监控中心,采集服务调用信息,并将服务调用信息写入本地日志中,使得日志采集装置能够采集到本地日志,从本地日志中解析出服务调用信息并进行存储,在响应于对第二目标应用程序的监控查看请求时,可以获取第二目标应用程序的监控查看请求,并对监控查看请求进行解析处理,以得到第二目标应用程序所需要获取的与监控查看请求对应的服务调用信息,而后可以从日志采集装置中获取与监控查看请求对应的服务调用信息,而后可以将对应的服务调用信息存储至elastic search分析引擎中,由elastic search分析引擎对服务调用信息进行分析处理,以生成对应的监控报告以供查看,该监控报表信息可以是针对服务调用信息的汇总信息,该汇总信息的形式可以是调用情况的统计图表和详细记录。
48.而后,还可以由elastic search分析引擎将服务调用情况的统计图表和详细记录反馈至监控装置,该监控装置还可以提供服务调用情况的统计图表和详细记录的展示界面,以供用户查看,或者还可以采用其他任意可能的方式,根据服务调用信息生成监控报告以供查看,对此不做限制。
49.本实施例中,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
50.图3是本公开另一实施例提出的监控方法的流程示意图。
51.如图3所示,该监控方法包括:
52.s301:将监控接口相关的接口信息提供至第一目标应用程序,使第一目标应用程序根据接口信息对监控接口进行调用,从而得到并上报服务调用信息。
53.其中,监控接口相关的接口信息,是指用于标识该接口的身份信息,该接口信息可以例如为接口名称、接口调用地址、接口函数等,对此不做限制。
54.本公开实施例中,可以针对监控装置配置相应的监控接口,在获取第一目标应用程序的服务调用信息之前,可以配置监控接口的接口名称、接口调用地址、接口函数等作为监控接口相关的接口信息,并将该监控接口相关的接口信息提供至第一目标应用程序,而后第一目标应用程序根据接口信息对监控接口进行调用,从而得到并上报服务调用信息。
55.本公开实施例中,可以配置第一目标应用程序预先注册相应的接口,针对监控装置配置相应的监控接口,从而目标应用程序在运行过程中,可以基于预先注册的该接口主动向监控装置上报自身包含的服务调用信息,由监控装置配置的监控接口接收目标应用程序上报的服务调用信息。
56.举例而言,以监控装置配置在dubbo监控中心进行示例,目标应用程序注册相应的接口,监控装置相应的接口配置在dubbo服务监控平台,而后目标应用程序可以将服务调用信息上送至dubbo监控中心的监控装置。
57.可选地,一些实施例中,将监控接口相关的接口信息提供至第一目标应用程序,可以将相关的接口信息在注册装置中进行注册,使注册装置能够将相关的接口信息提供至第一目标应用程序,从而可以实现监控和注册的解耦,实现一次注册即可以辅助完成全面的监控,降低监控的操作成本,提升监控效率。
58.其中,注册装置可以用于将监控接口相关的接口信息在第一目标应用程序中进行注册,注册装置能够将相关的接口信息提供至第一目标应用程序。
59.本公开实施例中,可以支持预先配置第一目标应用程序注册监控接口相关的接口信息,而后,使得第一目标应用程序能够主动地上报自身的服务调用信息,而控制第一目标应用程序预先注册该监控接口时,可以是由监控装置将监控接口相关的接口信息提供至注册装置,使得注册装置将相关的接口信息提供至第一目标应用程序。
60.上述的注册装置和监控装置均可以是采用硬件和/或软件的形式实现,在注册装
置中配置了注册处理逻辑,经由该注册处理逻辑执行转发接口信息的任务,经由监控装置执行针对第一目标应用程序的监控任务。
61.举例而言,以监控装置配置在dubbo监控中心进行示例,可以将监控装置的监控接口相关的接口信息暴露至注册装置,由第一目标应用程序开启dubbo服务监控,第一目标应用程序预先利用注册装置注册监控接口相关的接口信息,使第一目标应用程序根据接口信息对监控接口进行调用,自动将监控接口涉及的方法维度的统计数据(该统计数据即描述了服务调用信息)上送至dubbo监控中心。
62.如图4所示,图4是本公开实施例中数据采集网络拓扑示意图,在数据采集过程中,应用程序1和应用程序2分别有注册监控接口,在注册监控接口后,能够调用该监控接口提供的监控方法函数,该应用程序1和应用程序2可以是任一发出服务调用信息的第一目标应用程序,应用程序2每分钟上报服务调用信息至dubbo服务监控平台,由dubbo服务监控平台预先结合zookeeper来实现注册监控接口(即可以由注册装置将监控接口相关的接口信息提供至目标应用程序,由dubbo服务监控平台预先结合zookeeper辅助进行注册),以实现动态地接口注册和监控服务的调用,实现将监控服务注册和发布推送的功能分配至注册装置,而后,触发进行程序白名单的检查以及是否限流的检查。
63.其中,zookeeper是一个分布式的服务框架,是树型目录服务的数据存储框架,基于集群架构管理数据,当将注册装置配置在zookeeper时,实现对多个应用程序的注册处理逻辑进行统一高效地管理。
64.s302:接收各应用程序的服务调用信息。
65.本公开实施例在上述将监控接口相关的接口信息提供至第一目标应用程序,并将相关的接口信息在注册装置中进行注册之后,各应用程序可以根据接口信息对监控接口进行调用,实时地将服务调用信息上报至dubbo服务治理平台,自动将监控接口涉及的方法维度的统计数据(该统计数据即描述了服务调用信息)上送至dubbo监控中心。
66.本公开实施例在接收各应用程序的服务调用信息之后,可以对服务调用信息进行判断,判断调用信息对应的应用程序是否在程序白名单中,而后从中确定出第一目标应用程序的服务调用信息,而后触发后续步骤,具体可见后续实施例。
67.s303:判断服务调用信息对应的应用程序是否在程序白名单中,是则将相应的服务调用信息作为第一目标应用程序的服务调用信息。
68.其中,该程序白名单中的应用程序,可以被视为用户指定的需要对其进行监控的应用程序,被用户指定为需要对其进行监控的应用程序可以作为第一目标应用程序,其对应的服务调用信息可以作为第一目标应用程序的服务调用信息。
69.本公开实施例中,在接收各应用程序的服务调用信息之后,可以判断服务调用信息对应的应用程序是否在程序白名单中,如果服务调用信息对应的应用程序在程序白名单中,则该应用程序对应的服务调用信息可以作为第一目标应用程序的服务调用信息。
70.举例而言,用户在dubbo服务治理平台配置程序白名单,该程序白名单中的应用程序可以被视为用户指定的需要对其进行监控的应用程序,获取服务调用信息对应的应用程序是否在配置的程序白名单中,如果服务调用信息对应的应用程序在程序白名单中,则该应用程序对应的服务调用信息可以作为第一目标应用程序的服务调用信息。
71.s304:对服务调用信息进行数据转换和/或指标计算后再写入本地日志,使日志采
集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储。
72.本公开实施例在选取在程序白名单中的应用程序的服务调用信息作为第一目标应用程序的服务调用信息之后,可以对服务调用信息进行数据转换和/或指标计算处理,并将处理后的服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储。
73.本公开实施例中,在对服务调用信息进行数据转换和指标计算时,可以利用数据处理组件对服务调用信息进行数据转换处理,而后将处理后的服务调用信息写入数据分析引擎,利用数据分析引擎对服务调用信息进行数据分析和指标计算处理,并将处理后的数据写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储。
74.举例而言,如图5所示,图5是本公开实施例中数据存储流程图,上述选取在程序白名单中的应用程序的服务调用信息作为第一目标应用程序的服务调用信息之后,还可以对服务调用信息进行数据转换和/或指标计算,在由flume组件采集到服务调用信息之后,而后通过kafka组件、logstash组件对服务调用信息进行数据收集处理,而后将收集处理后的服务调用写入elastic search分析引擎中,利用elastic search分析引擎对服务调用信息进行数据分析处理和指标计算处理,并将处理后的服务调用信息写入本地日志,使日志采集装置能够采集到本地日志,从本地日志中解析出服务调用信息并进行存储。
75.其中,flume组件可以用于收集数据,支持多种日志收集渠道。
76.其中,kafka组件是消息缓冲队列,当服务调用信息和目标日志数据较多时,可以先将服务调用信息和目标日志数据存放到队列中,延迟一定的时间进行处理。
77.其中,logstash组件是一个数据收集器,将收集到的服务调用信息和目标日志数据解析之后格式化输出到elastic search分析引擎,logstash组件是以管道方式进行数据搜集、处理,以及输出,可以采用logstash组件对应用程序日志进行收集管理。
78.可选地,一些实施例中,可以统计各第一目标应用程序的服务调用信息数量,若一个第一目标应用在预设时间内的服务调用信息数量大于预设阈值,则在获取到第一目标应用的服务调用信息后进行丢弃,不执行将服务调用信息写入本地日志的步骤,从而可以对预设时间内的服务调用信息数量进行统计,针对服务调用信息的预设阈值以进行限流处理,避免过多的服务调用信息占用较多的系统资源,有效降低系统处理压力,避免监控处理对原系统的性能造成影响。
79.其中,预设时间是指针对统计服务调用信息数据而设置的时间段区间,可以在设定的时间段区间内对各第一目标应用程序上报的服务调用信息数量进行统计。
80.其中,预设阈值是指针对各第一目标应用程序上报的服务调用信息数量设置的门限值,可以用于判断是否将服务调用信息写入本地日志。
81.本公开实施例中,可以在预设时间内对各第一目标应用程序的服务调用信息的数量进行统计,而后可以根据预设阈值对服务调用信息的数量进行比较处理,如果一个第一目标应用在预设时间内的服务调用信息数量大于预设阈值,则表明在预设时间内该第一目标应用程序上报的服务调用信息的数量超出了预设阈值,则在获取到第一目标应用的服务调用信息后进行丢弃,不执行将服务调用信息写入本地日志的步骤。
82.举例而言,如图6所示,图6是本公开实施例中数据采集流程示意图,在监控数据采
集过程中,应用程序的服务调用数据上送之后,需要判断该服务调用数据对应的应用程序是否被用户配置到白名单中,如果该程序未被用户配置至白名单中,则数据采集流程结束,若该应用程序程序已被用户配置到白名单中,则该应用程序可以作为第一目标应用程序,而后统计预设时间内该第一目标应用程序上报的服务调用信息的数量,并判断该第一目标应用程序上报的服务调用信息的数量是否超过预设阈值,用以检查该第一目标应用程序是否会触发限流处理,如果第一目标应用程序上报的服务调用信息的数量超过预设阈值,则触发对该第一目标应用程序进行限流处理,如果触发限流处理则数据采集流程结束,在获取到第一目标应用的服务调用信息后进行丢弃,不执行将服务调用信息写入本地日志的步骤如果没有触发限流则进行后续的数据转换和指标计算,并将处理后的服务调用信息写入本地日志。
83.本公开实施例中,可以将上述的注册装置和监控装置均配置为分布式架构,从而实现分布式的注册装置对多个应用程序进行注册,使得注册后的目标应用程序能够主动上报监控数据(包括服务调用信息和目标日志数据),不依赖单机代理,可用性和效率更高,并且监控的接入简单,只需要修改相应的配置即可实现,不会造成代码入侵,对目标应用程序所属的计算机系统的性能几乎没有影响。
84.可选地,一些实施例中,可以响应于配置请求,对程序白名单或预设阈值进行配置,从而可以对程序白名单中的应用程序进行适应性配置,实现个性化的按需监控,且针对服务调用信息的预设阈值以进行限流处理,可以降低系统处理压力,避免监控处理对原系统的性能造成影响。
85.其中,配置请求是指用户针对程序白名单或者预设阈值的设置请求,可以用于对程序白名单中的应用程序以及预设阈值的数值进行适应性配置。
86.本公开实施例中,可以接收配置请求,响应对配置请求,对配置请求进行解析处理,以得到针对程序白名单的应用程序配置信息和预设阈值的数值配置信息,并根据应用程序配置信息和预设阈值的数值配置信息对程序白名单和预设阈值进行相应的配置。
87.s305:响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看。
88.s305的描述说明可以示例参见上述实施例,在此不再赘述。
89.本公开实施例中,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果,将监控接口相关的接口信息提供至第一目标应用程序,可以将相关的接口信息在注册装置中进行注册,使注册装置能够将相关的接口信息提供至第一目标应用程序,从而可以实现监控和注册的解耦,实现一次注册即可以辅助完成全面的监控,降低监控的操作成本,提升监控效率,可以对预设时间内的服务调用信息数量进行统计,针对服务调用信息的预设阈值以进行限流处理,避免过多的服务调用信息占用较多的系统资源,有效降低系统处理压力,避免监控处理对原系统的性能造成影响,对程序白名单
中的应用程序进行适应性配置,实现个性化的按需监控,且针对服务调用信息的预设阈值以进行限流处理,可以降低系统处理压力,避免监控处理对原系统的性能造成影响。
90.图7是本公开一实施例提出的监控装置的结构示意图。
91.如图7所示,该监控装置70,用于监控第一目标应用程序的服务调用情况,包括:
92.获取模块701,用于获取第一目标应用程序的服务调用信息;
93.解析模块702,用于将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储;
94.生成模块703,用于响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看。
95.在本公开的一些实施例中,如图8所示,图8是本公开一实施例提出的监控装置的结构示意图,其中,监控装置70具有监控接口,还包括:
96.第一处理模块704,用于在获取第一目标应用程序的服务调用信息之前,将监控接口相关的接口信息提供至第一目标应用程序,使第一目标应用程序根据接口信息对监控接口进行调用,从而得到并上报服务调用信息。
97.在本公开的一些实施例中,第一处理模块704,具体用于:
98.将相关的接口信息在注册装置中进行注册,使注册装置能够将相关的接口信息提供至第一目标应用程序。
99.在本公开的一些实施例中,解析模块702,具体用于:
100.对服务调用信息进行数据转换和/或指标计算后再写入本地日志。
101.在本公开的一些实施例中,获取模块701,包括:
102.接收子模块7011,用于接收各应用程序的服务调用信息;
103.判断子模块7012,用于判断服务调用信息对应的应用程序是否在程序白名单中,是则将相应的服务调用信息作为第一目标应用程序的服务调用信息。
104.在本公开的一些实施例中,还包括:
105.统计模块705,用于统计各第一目标应用程序的服务调用信息数量;
106.第二处理模块706,用于若一个第一目标应用在预设时间内的服务调用信息数量大于预设阈值,则在获取到第一目标应用的服务调用信息后进行丢弃,不执行将服务调用信息写入本地日志的步骤。
107.在本公开的一些实施例中,还包括:
108.配置模块707,响应于配置请求,对程序白名单或预设阈值进行配置。
109.与上述图1至图6实施例提供的监控方法相对应,本公开还提供一种监控装置,由于本公开实施例提供的监控装置与上述图1至图6实施例提供的监控方法相对应,因此在监控方法的实施方式也适用于本公开实施例提供的监控装置,在本公开实施例中不再详细描述。
110.本实施例中,通过获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调
用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。
111.图9是本公开一实施例提出的监控系统的结构示意图。
112.如图9所示,该监控系统90,包括应用服务器901,监控装置902,日志采集装置903,应用服务器中部署有待监控的第一目标应用程序9011;其中,
113.应用服务器901用于向监控装置902提供第一目标应用程序9011的服务调用信息;
114.日志采集装置903用于采集监控装置902的本地日志,并从本地日志中解析出服务调用信息并进行存储;以及用于向日志采集装置903提供与监控查看请求对应的服务调用信息。
115.在本公开的一些实施例中,监控系统90还包括注册装置904,其中,
116.注册装置904,用于注册监控装置902的监控接口相关的接口信息;
117.应用服务器901,用于获取接口信息,使第一目标应用程序9011根据接口信息对监控接口进行调用,从而得到并上报服务调用信息。
118.为了实现上述实施例,本公开还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本公开前述实施例提出的监控方法。
119.为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开前述实施例提出的监控方法。
120.为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的监控方法。
121.图10示出了适于用来实现本公开实施方式的示例性计算机设备的框图。图10显示的计算机设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
122.如图10所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
123.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture;以下简称:isa)总线,微通道体系结构(micro channel architecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association;以下简称:vesa)局域总线以及外围组件互连(peripheral component interconnection;以下简称:pci)总线。
124.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
125.存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory;以下简称:ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。
126.尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compact disc read only memory;以下简称:cd-rom)、数字多功能只读光盘(digital video disc read only memory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
127.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
128.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network;以下简称:lan),广域网(wide area network;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
129.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的监控方法。
130.本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
131.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
132.需要说明的是,在本公开的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
133.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
134.应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
135.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
136.此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
137.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
138.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
139.尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种监控方法,其特征在于,应用于监控装置,所述监控装置用于监控第一目标应用程序的服务调用情况,所述方法包括:获取所述第一目标应用程序的服务调用信息;将所述服务调用信息写入本地日志,使日志采集装置能够采集到所述本地日志、从所述本地日志中解析出所述服务调用信息并进行存储;响应于对第二目标应用程序的监控查看请求,从所述日志采集装置中获取与所述监控查看请求对应的服务调用信息,根据所述服务调用信息生成监控报告以供查看。2.如权利要求1所述的方法,其特征在于,所述监控装置具有监控接口,在所述获取所述第一目标应用程序的服务调用信息之前,还包括:将所述监控接口相关的接口信息提供至所述第一目标应用程序,使所述第一目标应用程序根据所述接口信息对所述监控接口进行调用,从而得到并上报所述服务调用信息。3.如权利要求2所述的方法,其特征在于,所述将所述监控接口相关的接口信息提供至所述第一目标应用程序,包括:将所述相关的接口信息在所述注册装置中进行注册,使所述注册装置能够将所述相关的接口信息提供至所述第一目标应用程序。4.如权利要求1所述的方法,其特征在于,所述将所述服务调用信息写入本地日志,包括:对所述服务调用信息进行数据转换和/或指标计算后再写入所述本地日志。5.如权利要求1所述的方法,其特征在于,所述获取所述第一目标应用程序的服务调用信息,包括:接收各应用程序的服务调用信息;判断所述服务调用信息对应的应用程序是否在程序白名单中,是则将相应的服务调用信息作为所述第一目标应用程序的服务调用信息。6.如权利要求1所述的方法,其特征在于,还包括:统计各所述第一目标应用程序的服务调用信息数量;若一个所述第一目标应用在预设时间内的服务调用信息数量大于预设阈值,则在获取到所述第一目标应用的服务调用信息后进行丢弃,不执行将所述服务调用信息写入本地日志的步骤。7.如权利要求5或6所述的方法,其特征在于,还包括:响应于配置请求,对所述程序白名单或所述预设阈值进行配置。8.一种监控装置,其特征在于,所述装置用于实现权利要求1-7中任一项所述的方法。9.一种监控系统,其特征在于,包括应用服务器,如权利要求8所述的监控装置,日志采集装置;所述应用服务器中部署有待监控的第一目标应用程序;其中,所述应用服务器用于向所述监控装置提供第一目标应用程序的服务调用信息;所述日志采集装置用于采集所述监控装置的本地日志,并从所述本地日志中解析出所述服务调用信息并进行存储;以及用于向所述日志采集装置提供与监控查看请求对应的服务调用信息。10.如权利要求9所述的系统,其特征在于,还包括注册装置,其中,所述注册装置,用于注册所述监控装置的监控接口相关的接口信息;
所述应用服务器,用于获取所述接口信息,使所述第一目标应用程序根据所述接口信息对所述监控接口进行调用,从而得到并上报所述服务调用信息。
技术总结
本公开提出一种监控方法、装置及系统,该方法包括:获取第一目标应用程序的服务调用信息,将服务调用信息写入本地日志,使日志采集装置能够采集到本地日志、从本地日志中解析出服务调用信息并进行存储,响应于对第二目标应用程序的监控查看请求,从日志采集装置中获取与监控查看请求对应的服务调用信息,根据服务调用信息生成监控报告以供查看。通过本公开,能够避免针对应用程序植入执行性能监控任务的计算机程序代码,实现利用日志采集装置获取相应的服务调用信息,响应对服务调用信息的监控查看请求,生成监控报告以供查看,有效地降低监控成本,有效地提升监控效果。有效地提升监控效果。有效地提升监控效果。
技术研发人员:丁翠平
受保护的技术使用者:网联清算有限公司
技术研发日:2022.01.06
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
