CN114666237A - 秒级监控方法、装置及存储介质 - Google Patents

秒级监控方法、装置及存储介质 Download PDF

Info

Publication number
CN114666237A
CN114666237A CN202210190839.0A CN202210190839A CN114666237A CN 114666237 A CN114666237 A CN 114666237A CN 202210190839 A CN202210190839 A CN 202210190839A CN 114666237 A CN114666237 A CN 114666237A
Authority
CN
China
Prior art keywords
data
aggregation
server
request data
service system
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.)
Granted
Application number
CN202210190839.0A
Other languages
English (en)
Other versions
CN114666237B (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.)
Zhongan Online P&c Insurance Co ltd
Original Assignee
Zhongan Online P&c Insurance 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 Zhongan Online P&c Insurance Co ltd filed Critical Zhongan Online P&c Insurance Co ltd
Priority to CN202210190839.0A priority Critical patent/CN114666237B/zh
Publication of CN114666237A publication Critical patent/CN114666237A/zh
Application granted granted Critical
Publication of CN114666237B publication Critical patent/CN114666237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供一种秒级监控方法、装置及存储介质,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,该方法包括:针对多个服务器中每个业务系统,实时获取服务器中业务系统的请求数据;采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;基于第二聚合数据,发出监控信息。本公开的秒级监控方法、装置及存储介质可以快速地、实时地对业务系统进行监控。

Description

秒级监控方法、装置及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种秒级监控方法、装置及存储介质。
背景技术
监控系统是业务系统高可用架构必不可少的环节因素。对于业务系统高可用指标评估的一核心指标即平均系统恢复时间(mean time to restore system,简称MTTRS),只有越早的发现业务系统的问题,才能缩短MTTRS。
但随着微服务架构盛行,业务系统分割力度很细,再加上越来越多高频超高流量的业务系统接入到监控系统,对监控系统来说告警的实时性就面临着很大的挑战,尤其是在移动互联网时代加上已经来临的万物互联时代,面对海量流量,如何使得监控系统做到秒级监控,成为当前亟待解决的技术问题。
发明内容
为了解决上述问题,本公开提供了一种秒级监控方法、装置及存储介质。以实现对业务系统进行秒级监控。
第一方面,本公开提供了一种秒级监控方法,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,该秒级监控方法包括:
针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据;并,采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;
基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;
基于第二聚合数据,发出监控信息。
一种可能的实施方式中,基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据,包括:将第一聚合数据存储至监控服务器的存储介质;响应于通过Flume Agent Tail在存储介质中监听到目标落盘文件,通过异步方式将第一聚合数据发送到流式JStorm实时计算平台,目标落盘文件为包含第一聚合数据的文件;通过流式JStorm实时计算平台采用流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
一种可能的实施方式中,采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据,包括:将请求数据输入至客户端计算框架进行第一聚合处理,得到第一聚合数据,其中,客户端计算框架部署有滑动窗口算法。
一种可能的实施方式中,实时获取服务器中业务系统的请求数据,包括:采用过滤器和动态字节码技术,对服务器中业务系统的请求数据进行拦截。
一种可能的实施方式中,请求数据包括初始请求数据和与初始请求数据存在业务逻辑关系的相关请求数据,实时获取服务器中业务系统的请求数据,包括:实时获取服务器中业务系统的初始请求数据;根据业务逻辑,确定相关请求数据。
一种可能的实施方式中,还包括:在得到第二聚合数据,将第二聚合数据存储至存储系统,存储系统支持所存储数据的秒级批量读取。
第二方面,本公开提供一种秒级监控装置,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,秒级监控装置包括:
获取模块,用于针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据;
第一聚合模块,用于采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;
第二聚合模块,用于基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;
发送模块,用于基于第二聚合数据,发出监控信息。
一种可能的实施方式中,第二聚合模块具体用于:将第一聚合数据存储至监控服务器的存储介质;响应于通过Flume Agent Tail在存储介质中监听到目标落盘文件,通过异步方式将第一聚合数据发送到流式JStorm实时计算平台,目标落盘文件为包含第一聚合数据的文件;通过流式JStorm实时计算平台采用流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
一种可能的实施方式中,第一聚合模块具体用于:将请求数据输入至客户端计算框架进行第一聚合处理,得到第一聚合数据,其中,客户端计算框架部署有滑动窗口算法。
一种可能的实施方式中,获取模块具体用于:采用过滤器和动态字节码技术,对服务器中业务系统的请求数据进行拦截。
一种可能的实施方式中,获取模块具体用于:实时获取服务器中业务系统的初始请求数据;根据业务逻辑,确定相关请求数据。
一种可能的实施方式中,还包括存储模块,用于:在得到第二聚合数据,将第二聚合数据存储至存储系统,存储系统支持所存储数据的秒级批量读取。
第三方面,本公开提供一种电子设备,包括:
存储器和处理器;
存储器用于存储程序指令;
处理器用于调用所述存储器中的程序指令执行第一方面的秒级监控方法。
第四方面,本公开一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现第一方面的秒级监控方法。
第五方面,本公开提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面的秒级监控方法。
本公开提供一种秒级监控方法、装置及存储介质,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,该秒级监控方法包括:针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据;并,采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;基于第二聚合数据,发出监控信息。本公开中,在监控服务器中引入滑动窗口算法,对请求数据进行处理,由于滑动窗口算法本身可以提高算力利用率,因此提高了监控服务器的监控速率。另外,基于滑动窗口算法的高效性,监控服务器还可以实时地发出监控信息,保证了监控的实时性。因此本公开的秒级监控方法、装置及存储介质可以快速地、实时地对业务系统进行监控。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的应用场景示意图;
图2为本公开一实施例提供的秒级监控方法的流程图;
图3为本公开另一实施例提供的秒级监控方法的流程图;
图4为本公开一实施例提供的客户端计算框架;
图5为本公开一实施例提供的滑动窗口算法的时序处理图;
图6为本公开一实施例提供的监控系统的结构示意图;
图7为本公开另一实施例提供的秒级监控装置的结构示意图;
图8为本公开一实施例提供的电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
首先,对本公开涉及的部分技术术语进行解释说明:
滑动窗口算法(Sliding Window Algorithm,简称SWA),其可以将循环嵌套简化为单循环,降低复杂度。具体地,该算法设定特定步长,每次提取一局部数据,并在遍历完整数据之后,将提取的局部数据进行聚合,得到整体数据。
目前,大多数业务系统的架构都是分布式系统,即由是多个服务器通过通信线路互联而构成的松散耦合的系统。而监控系统是业务系统的眼睛,是业务系统高可用架构中必不可少的一环,监控系统只有越早的发现业务系统的故障,才能缩短MTTRS时间,才能及时止损,最大程度为系统实现高可用架构目标。而随着微服务架构盛行,业务系统的分割力度逐渐加细,并且越来越多的高频超高流量的系统接入到监控系统。对监控系统来说,告警的实时性面临着很大的挑战。在移动互联网时代和万物互联时代,面对海量流量,如何让监控系统做到秒级监控,对技术和算法架构都提出了很高要求。
基于上述问题,本公开的实施例提供了一种秒级监控方法、装置及存储介质,通过在监控系统中引入滑动窗口算法,提高了算力利用率,进而提高监控速率。示例地,基于滑动窗口算法监控的高效性,使得监控系统可实现秒级或者毫秒级的监控或者告警,保证了监控的实时性。
图1为本公开一实施例提供的应用场景示意图。如图1所示,本应用场景中,包括客户端101,业务系统102以及监控服务器103。其中,业务系统102包括至少一个服务器1020,监控服务器103上搭载了监控系统1030。
示例地,监控服务器103获取至少一个服务器1020中的请求数据,并通过分析数据日志,确定是否存在错误日志,若存在错误日志,则发送异常告警信息至客户端101,由客户端101展示给用户。
另外,监控服务器103还可以对至少一个服务器1020中的请求数据进行分析处理。例如,统计一段时间内请求数据的个数,请求数据的类型等等,并将其返回至客户端101。
需要说明的是,图1仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。例如,客户端101可以是手机、电脑或者平板设备。服务器1020的个数可以是任意个,本公开图1的应用场景以3个为例;监控服务器103可以是单个服务器,也可以是服务器集群。
接下来,通过具体实施例介绍秒级监控方法、装置及存储介质。
图2为本公开一实施例提供的秒级监控方法的流程图,该方法应用于监控服务器,对业务系统进行监控,业务系统部署在多个服务器中。如图2所示,该方法包括:
S201、针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据。
服务器作为分布式系统(业务系统)的一部分,不同的服务器用于负责不同的业务,监控服务器会实时从各个服务器中获取请求数据。
其中,请求数据的类型可以是支付请求、下单请求、修改地址请求或者退款请求等等。请求数据中还包括了该请求发送的时间,该请求所对应的应用APP、该请求的业务逻辑等等。
示例地,监控服务器可以实时地获取每秒内或者每毫秒内的请求数据,并对其进行分析处理,该请求数据的个数可以是几十个或者几百个。
S202、采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据。
基于滑动窗口算法,可以对业务系统中某一服务器中的一请求数据进行第一聚合处理,提取该请求数据的主体部分。
示例地,监控服务器可以基于请求数据的数据日志,秒级或者毫秒级地进行第一聚合处理,该数据日志包括了请求数据的执行结果以及请求数据的调用情况等等。监控服务器在进行第一聚合处理时,会先预设窗口长度,并以预设窗口长度为单位,提取窗口内的数据日志,之后将窗口平移,重复上述步骤,直到遍历了整个数据日志,将多次提取的数据日志组合为第一聚合数据。应理解:第一聚合数据对请求数据的数据日志进行了简化。
另一些示例中,当请求数据出现错误日志或者未响应时,数据日志会记录该请求数据的错误信息和时间。此时,监控服务器基于滑动窗口算法在进行第一聚合处理时,会提取该错误信息,该错误信息用于后续异常告警。
此外,针对上述请求数据的调用情况,作为一种示例,在12:00:01时刻,业务请求发出,该业务请求类型为支付;在12:00:02时刻,该业务请求被执行;在12:00:03时刻,该业务请求还会调用其他业务请求,例如获取用户信息的业务请求,跳转付款界面的业务请求,以及跨平台付款的业务请求等等,上述请求数据都会被保存在数据日志中。
S203、基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
第二聚合数据是由至少一个服务器的第一聚合数据经过第二聚合处理后得到的。第二聚合数据作为高维度聚合,聚合后的第二聚合数据可以整体反映至少一条业务调用链中请求数据的执行结果。
作为一种示例,流式实时技术用于对第一聚合数据进行二次聚合,即,第一聚合处理用于对业务系统中某个服务器的请求数据进行聚合处理,第二聚合处理则针对于经过第一聚合处理后的第一聚合数据,换言之,第二聚合处理是针对业务系统中所有服务器的。这些服务器中的请求数据经过第一聚合处理后,得到第一聚合数据,再采用流式实时技术进行第二聚合处理。示例地,前文已经叙述过,由于一个业务请求中会基于业务逻辑调用其他相关的业务请求,因此第二聚合处理可以将这些业务请求对应的请求数据进行整体聚合,而第一聚合处理仅是针对每个单一请求数据进行处理,例如通过滑动窗口算法进行处理。
S204、基于第二聚合数据,发出监控信息。
示例地,监控信息包括异常告警信息。当业务异常时,异常信息会被记录在数据日志中,通过监控服务器对数据日志的第一聚合处理得到的第一聚合数据已经包含了异常信息,而第二聚合数据是由至少一个第一聚合数据聚合而成的,通过第二聚合数据可以确定一条业务调用链中,具体出现错误日志的请求数据。此时,由监控服务器根据出现错误日志的请求数据,生成对应的异常告警信息,并向客户端发送异常告警信息,以使相关人员通过客户端监控该业务系统的异常情况。
一些实施例中,若业务未出现异常,监控服务器还可以根据第二聚合数据,统计请求数据的个数,请求数据发送的时间,请求数据的执行结果等等,并将统计结果发送至客户端,以使相关人员通过客户端监控该业务系统的运行情况。
本公开实施例中的秒级监控方法,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,该秒级监控方法包括:针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据;并,采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;基于第二聚合数据,发出监控信息。本公开中,在监控服务器中引入滑动窗口算法,对请求数据进行处理,由于滑动窗口算法本身可以提高算力利用率,因此提高了监控服务器的监控速率。另外,基于滑动窗口算法的高效性,监控服务器还可以实时地发出监控信息,保证了监控的实时性。因此本公开的秒级监控方法、装置及存储介质可以快速地、实时地对业务系统进行监控。
通过图3可以将上述步骤进行细化,图3是本公开另一实施例提供的秒级监控方法的流程图。示例地,客户端计算框架可以搭载在监控服务器。如图3所示,监控服务器获取请求数据后,将请求数据输入至客户端计算框架,客户端计算框架部署有滑动窗口算法,监控服务器在获取请求数据后,可以将请求数据输入至客户端计算框架,通过客户端计算框架基于请求数据的数据日志,对请求数据进行第一聚合处理,得到第一聚合数据。可选地,该第一聚合数据可以包括请求数据的日志信息。
另外,客户端计算框架也可以搭载在其他服务器上。
得到第一聚合数据后,上述实施例中,基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据,可以包括:将第一聚合数据存储至监控服务器的存储介质;响应于通过Flume Agent Tail在存储介质中监听到目标落盘文件,通过异步方式将第一聚合数据发送到流式JStorm实时计算平台,目标落盘文件为包含第一聚合数据的文件;通过流式JStorm实时计算平台采用流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
其中,将第一聚合数据存储至监控服务器的存储介质这一步骤是可以由客户端计算框架执行的,存储介质可以是本地磁盘或者其他外接硬盘。
图3中,Flume Agent Tail是一种负责对分布式日志数据收集并传输的系统,搭载在监控服务器上,示例地,由Tail实时收集本地存储的第一聚合数据,再由Flume Agent通过Kafka消息队列系统,将第一聚合数据异步发送到流式JStorm实时计算平台。流式JStorm实时计算平台采用流式实时技术,对第一数据进行高纬度聚合,即第二聚合处理。前文提及过,第二聚合处理用于对第一聚合处理后的第一聚合数据进行聚合,得到整体聚合数据。示例地,若流式JStorm实时计算平台获取了多条业务调用链的第一聚合数据,则流式JStorm实时计算平台可以基于每条业务调用链,对同一业务调用链下的第一聚合数据进行第二聚合处理,得到多条业务调用链的第二聚合数据(整体聚合数据);或者,流式JStorm实时计算平台可以不对业务调用链进行分类,直接将获取到的第一聚合数据进行第二聚合处理,得到第二聚合数据。
在得到第二聚合数据后,监控服务器可以将第二聚合数据存储至存储系统,该存储系统支持所存储数据的秒级批量读取。示例地,图3中,该存储系统可以包括Redis或者Elasticsearch等存储介质,其中,Redis以Hash Bucket数据结构负责对第二聚合数据进行统计和存储。
一些实施例中,还可以通过客户端对监控信息进行展示。示例地,当客户端订阅了Websocket服务后,监控服务器可以对客户端进行秒级数据推送,数据推送的内容包括了异常告警信息以及数据展示。异常告警信息用于以反馈秒级监控下出现报错的请求数据;数据展示用于统计预设时段内请求数据的个数、时间等信息。
由于Redis存储介质或Elasticsearch存储介质可以实现秒级数据批量读取,因此图3整个监控系统中,请求数据从首次获取,到滑动窗口算法的第一聚合处理,再经过第二聚合处理后,被存储到Redis存储介质和/或Elasticsearch存储介质中,每一步骤都可以保证秒级或者毫秒级迅速操作,因而,本监控系统可以以秒级或者毫秒级对业务系统的运行健康情况进行监控。
下面通过图4来进一步介绍客户端计算框架,图4是本公开一实施例提供的客户端计算框架的处理流程图,如图4所示:
监控服务器中的客户端计算框架可以采用过滤器和动态字节码技术,对服务器中业务系统的请求数据进行拦截。进行拦截后,客户端计算框架会根据预设的计算维度,将请求数据注册在注册器(Register)上。计算维度是可以根据人为历史经验设置的,为了统一对请求数据进行处理,首先需要对请求数据预设计算维度并注册。
另外,前文所叙述的每个业务调用链都包含一业务逻辑,根据该业务逻辑,可以确定一请求数据对应的相关请求数据。示例地,当某个业务的业务场景为支付时,请求数据的调用关系依次为:放入购物车请求—下单请求—获取用户信息请求—跳转后台支付请求—远程扣款请求等等。
可以理解:上述业务场景中,放入购物车请求为初始请求数据,其后续的其他请求数据为相关请求数据。因此监控服务器实时获取服务器中业务系统的请求数据,可以包括:实时获取服务器中业务系统的初始请求数据;根据业务逻辑,确定相关请求数据。
同理,每个由业务逻辑确定的相关请求数据也需要经过预设计算维度,注册在注册器上之后,才能由滑动窗口算法进行第一聚合处理。另外,每经过一次滑动窗口算法处理后,客户端计算框架的计数器对请求数据进行计数,即若某业务调用链下存在5个请求数据,则该业务经过滑动窗口算法处理后,计算器会增加5。
第一聚合处理后,客户端计算框架会将第一聚合数据存储在拦截队列(BlockingQueue)中。示例地,客户端计算框架中的Metrics Executor(执行器)会每隔一段时间将第一数据写入拦截队列中,具体可以是每隔1秒或者每隔2秒,本公开不对其进行限定。
客户端计算框架的整体技术架构采用了单线程异步技术模型,通过单线程异步刷盘、高性能计数等技术,实现了请求数据实时处理,实时落盘,存储在监控服务器本地。
通过图5可以直观的展示滑动窗口算法实时处理并计数的过程,图5是本公开一实施例提供的滑动窗口算法的时序处理图,如图5所示:
客户端计算框架将请求数据获取并注册后,会基于滑动窗口算法,对请求数据进行第一聚合处理。可以发现,图5中的第一聚合处理是以秒为单位进行的实时处理。示例地,在10:00:03时刻,通过第一聚合处理一共处理了200个请求数据,并将其存储在接收容器(Sink)中;在10:00:04时刻,通过第一聚合处理一共处理了300个请求数据,并将其存储在接收容器中;以此类推。
图5中,时间戳的长度和接收容器的大小都是可以自由设置的,例如,时间戳还设置为毫秒,接收容器的大小可以设置为800个、900个等等。时间戳越短、接收容器越小,客户端计算框架可以更快地、更多地基于滑动窗口算法处理请求数据。因此,针对海量数据的应用程序,本公开可以以秒级或者毫秒级获取请求数据,并实时将报错的请求数据发送至客户端,以使得客户端用户可以实时感知应用程序的运行情况。
第一聚合数据会被发送至流式JStorm实时计算平台,进行第二聚合处理。
图6反映了本公开一实施例提供的监控系统的结构示意图。
如图6所示,监控系统包括了注册模块(Registry)、计算处理模块、队列模块以及汇报模块。其中,注册模块可以包括计数器、计时器、滑动窗口算法模块以及计算维度模块;汇报模块的汇报形式可以包括:日志汇报、控制台汇报、Http汇报、Kafka汇报以及订阅汇报等。
首先,监控系统中的Metrics Endpoint会生成Metrics Command指令,以定义注册模块中的计数器、计时器以及计算维度模块等等。计算维度模块用于对获取到的请求数据预设计算维度,计数器用于对获取的请求数据进行计数,计时器用于记录时间。滑动窗口算法模块用于基于滑动窗口算法,对请求数据进行第一聚合处理,得到第一聚合数据。计算处理模块用于综合至少一个第一聚合数据,对其进行第二聚合处理,并分析聚合后的第二聚合数据,例如,确定请求数据中是否存在错误日志或者未响应请求等等。队列模块用于根据时间存放被处理后的请求数据。汇报模块用于向客户端发送消息,其中,发送消息的方式可以包括:日志汇报通过发送日志消息、控制台汇报发送控制台消息、Http汇报通过网站发送消息、Kafka汇报通过Kafka消息队列发送消息以及订阅汇报通过订阅组件发送消息。该消息的内容包括了异常告警、请求数据的统计信息以及业务场景信息等。
图2至图6的实施例之间,可以相互组合,也可以独立使用,本公开不加以限定。
接下来,通过图7介绍本公开提供的一种秒级监控装置,应用于监控服务器对业务系统进行监控,业务系统部署在多个服务器中,如图7所示,秒级监控装置700包括:
获取模块701,用于针对多个服务器中每个服务器,实时获取服务器中业务系统的请求数据;
第一聚合模块702,用于采用滑动窗口算法对请求数据进行第一聚合处理,得到第一聚合数据;
第二聚合模块703,用于基于流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;
发送模块704,用于基于第二聚合数据,发出监控信息。
一种可能的实施方式中,第二聚合模块703具体用于:将第一聚合数据存储至监控服务器的存储介质;响应于通过Flume Agent Tail在存储介质中监听到目标落盘文件,通过异步方式将第一聚合数据发送到流式JStorm实时计算平台,目标落盘文件为包含第一聚合数据的文件;通过流式JStorm实时计算平台采用流式实时技术,对多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
一种可能的实施方式中,第一聚合模块702具体用于:将请求数据输入至客户端计算框架进行第一聚合处理,得到第一聚合数据,其中,客户端计算框架部署有滑动窗口算法。
一种可能的实施方式中,获取模块701具体用于:采用过滤器和动态字节码技术,对服务器中业务系统的请求数据进行拦截。
一种可能的实施方式中,获取模块701具体用于:实时获取服务器中业务系统的初始请求数据;根据业务逻辑,确定相关请求数据。
一种可能的实施方式中,还包括存储模块(未标出),用于:在得到第二聚合数据,将第二聚合数据存储至存储系统,存储系统支持所存储数据的秒级批量读取。
本公开实施例提供的装置,可用于执行如前所述的实施例的方法,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图8为本公开一实施例提供的电子设备的结构示意图。示例性地,电子设备可以被提供为一计算机。参照图8,电子设备800包括处理组件801,其进一步包括一个或多个处理器,以及由存储器802所代表的存储器资源,用于存储可由处理组件801的执行的指令,例如应用程序。存储器802中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件801被配置为执行指令,以执行上述任一方法实施例。
电子设备800还可以包括一个电源组件803被配置为执行电子设备800的电源管理,一个有线或无线网络接口804被配置为将电子设备800连接到网络,和一个输入输出(I/O)接口805。电子设备800可以操作基于存储在存储器802的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本公开还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上秒级监控方法的方案。
本公开还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上的秒级监控方法的方案。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于秒级监控装置中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,
本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (10)

1.一种秒级监控方法,其特征在于,应用于监控服务器对业务系统进行监控,所述业务系统部署在多个服务器中,所述秒级监控方法包括:
针对所述多个服务器中每个服务器,实时获取所述服务器中所述业务系统的请求数据;并,采用滑动窗口算法对所述请求数据进行第一聚合处理,得到第一聚合数据;
基于流式实时技术,对所述多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;
基于所述第二聚合数据,发出监控信息。
2.根据权利要求1所述的秒级监控方法,其特征在于,所述基于流式实时技术,对所述多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据,包括:
将所述第一聚合数据存储至所述监控服务器的存储介质;
响应于通过Flume Agent Tail在所述存储介质中监听到目标落盘文件,通过异步方式将所述第一聚合数据发送到流式JStorm实时计算平台,所述目标落盘文件为包含所述第一聚合数据的文件;
通过所述流式JStorm实时计算平台采用所述流式实时技术,对所述多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据。
3.根据权利要求1或2所述的秒级监控方法,其特征在于,所述采用滑动窗口算法对所述请求数据进行第一聚合处理,得到第一聚合数据,包括:
将所述请求数据输入至客户端计算框架进行第一聚合处理,得到所述第一聚合数据,其中,所述客户端计算框架部署有所述滑动窗口算法。
4.根据权利要求1或2所述的秒级监控方法,其特征在于,所述实时获取所述服务器中所述业务系统的请求数据,包括:
采用过滤器和动态字节码技术,对所述服务器中所述业务系统的请求数据进行拦截。
5.根据权利要求1或2所述的秒级监控方法,其特征在于,所述请求数据包括初始请求数据和与所述初始请求数据存在业务逻辑关系的相关请求数据,所述实时获取所述服务器中所述业务系统的请求数据,包括:
实时获取所述服务器中所述业务系统的初始请求数据;
根据业务逻辑,确定所述相关请求数据。
6.根据权利要求1或2所述的秒级监控方法,其特征在于,还包括:
在得到所述第二聚合数据后,将所述第二聚合数据存储至存储系统,所述存储系统支持所存储数据的秒级批量读取。
7.一种秒级监控装置,应用于监控服务器对业务系统进行监控,其特征在于,所述业务系统部署在多个服务器中,所述秒级监控装置包括:
获取模块,用于针对所述多个服务器中每个服务器,实时获取所述服务器中所述业务系统的请求数据;
第一聚合模块,用于采用滑动窗口算法对所述请求数据进行第一聚合处理,得到第一聚合数据;
第二聚合模块,用于基于流式实时技术,对所述多个服务器对应的第一聚合数据进行第二聚合处理,得到第二聚合数据;
发送模块,用于基于所述第二聚合数据,发出监控信息。
8.一种电子设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储程序指令;
所述处理器用于调用所述存储器中的程序指令执行权利要求1至6中任一项的秒级监控方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现权利要求1至6任一项的秒级监控方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一项的秒级监控方法。
CN202210190839.0A 2022-02-25 2022-02-25 秒级监控方法、装置及存储介质 Active CN114666237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210190839.0A CN114666237B (zh) 2022-02-25 2022-02-25 秒级监控方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210190839.0A CN114666237B (zh) 2022-02-25 2022-02-25 秒级监控方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN114666237A true CN114666237A (zh) 2022-06-24
CN114666237B CN114666237B (zh) 2023-10-31

Family

ID=82027808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210190839.0A Active CN114666237B (zh) 2022-02-25 2022-02-25 秒级监控方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114666237B (zh)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106710A1 (en) * 2008-10-28 2010-04-29 Hitachi, Ltd. Stream data processing method and system
US20120221546A1 (en) * 2011-02-24 2012-08-30 Rafsky Lawrence C Method and system for facilitating web content aggregation initiated by a client or server
CN105335475A (zh) * 2015-09-30 2016-02-17 中国科学院计算技术研究所 一种基于流式数据的局部性非聚簇索引方法及系统
US9298788B1 (en) * 2013-03-11 2016-03-29 DataTorrent, Inc. Checkpointing in distributed streaming platform for real-time applications
US9990636B1 (en) * 2012-05-24 2018-06-05 Jpmorgan Chase Bank, N.A. Enterprise fulfillment system with dynamic prefetching, secured data access, system monitoring, and performance optimization capabilities
CN109800129A (zh) * 2019-01-17 2019-05-24 青岛特锐德电气股份有限公司 一种处理监控大数据的实时流计算监控系统及方法
CN110019651A (zh) * 2019-03-01 2019-07-16 广州亚美信息科技有限公司 一种流式规则引擎及业务数据处理方法
CN110046070A (zh) * 2018-10-25 2019-07-23 阿里巴巴集团控股有限公司 服务器集群系统的监控方法、装置、电子设备及存储介质
CN110058977A (zh) * 2019-01-14 2019-07-26 阿里巴巴集团控股有限公司 基于流式处理的监控指标异常检测方法、装置及设备
CN110262951A (zh) * 2019-06-10 2019-09-20 天翼电子商务有限公司 一种业务秒级监控方法及系统、存储介质及客户端
CN110334117A (zh) * 2019-07-17 2019-10-15 北京脉冲星科技有限公司 一种实时数据处理方法及装置
CN110555004A (zh) * 2019-07-30 2019-12-10 北京奇艺世纪科技有限公司 服务的监控方法、装置、计算机设备及存储介质
CN110569166A (zh) * 2019-08-19 2019-12-13 阿里巴巴集团控股有限公司 异常检测方法、装置、电子设备及介质
CN111930561A (zh) * 2020-07-02 2020-11-13 上海微亿智造科技有限公司 流式任务自动化监控告警重启系统及方法
CN112287548A (zh) * 2020-10-29 2021-01-29 国网新疆电力有限公司巴州供电公司 基于宽带网络的配电网实时监控方法及装置
US20210042208A1 (en) * 2019-08-05 2021-02-11 Cisco Technology, Inc. Framework for monitoring nanosecond-order application performance
CN112422445A (zh) * 2020-10-10 2021-02-26 四川新网银行股份有限公司 一种基于Kafka的埋点数据实时采集计算和存储的方法
US20210232592A1 (en) * 2020-01-23 2021-07-29 Microstrategy Incorporated Enhanced preparation and integration of data sets
CN113254313A (zh) * 2021-06-04 2021-08-13 挂号网(杭州)科技有限公司 一种监控指标异常检测方法、装置、电子设备及存储介质
CN114048231A (zh) * 2021-09-26 2022-02-15 阿里巴巴新加坡控股有限公司 数据处理方法、装置及计算机程序产品

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100106710A1 (en) * 2008-10-28 2010-04-29 Hitachi, Ltd. Stream data processing method and system
US20120221546A1 (en) * 2011-02-24 2012-08-30 Rafsky Lawrence C Method and system for facilitating web content aggregation initiated by a client or server
US9990636B1 (en) * 2012-05-24 2018-06-05 Jpmorgan Chase Bank, N.A. Enterprise fulfillment system with dynamic prefetching, secured data access, system monitoring, and performance optimization capabilities
US9298788B1 (en) * 2013-03-11 2016-03-29 DataTorrent, Inc. Checkpointing in distributed streaming platform for real-time applications
CN105335475A (zh) * 2015-09-30 2016-02-17 中国科学院计算技术研究所 一种基于流式数据的局部性非聚簇索引方法及系统
CN110046070A (zh) * 2018-10-25 2019-07-23 阿里巴巴集团控股有限公司 服务器集群系统的监控方法、装置、电子设备及存储介质
CN110058977A (zh) * 2019-01-14 2019-07-26 阿里巴巴集团控股有限公司 基于流式处理的监控指标异常检测方法、装置及设备
CN109800129A (zh) * 2019-01-17 2019-05-24 青岛特锐德电气股份有限公司 一种处理监控大数据的实时流计算监控系统及方法
CN110019651A (zh) * 2019-03-01 2019-07-16 广州亚美信息科技有限公司 一种流式规则引擎及业务数据处理方法
CN110262951A (zh) * 2019-06-10 2019-09-20 天翼电子商务有限公司 一种业务秒级监控方法及系统、存储介质及客户端
CN110334117A (zh) * 2019-07-17 2019-10-15 北京脉冲星科技有限公司 一种实时数据处理方法及装置
CN110555004A (zh) * 2019-07-30 2019-12-10 北京奇艺世纪科技有限公司 服务的监控方法、装置、计算机设备及存储介质
US20210042208A1 (en) * 2019-08-05 2021-02-11 Cisco Technology, Inc. Framework for monitoring nanosecond-order application performance
CN110569166A (zh) * 2019-08-19 2019-12-13 阿里巴巴集团控股有限公司 异常检测方法、装置、电子设备及介质
US20210232592A1 (en) * 2020-01-23 2021-07-29 Microstrategy Incorporated Enhanced preparation and integration of data sets
CN111930561A (zh) * 2020-07-02 2020-11-13 上海微亿智造科技有限公司 流式任务自动化监控告警重启系统及方法
CN112422445A (zh) * 2020-10-10 2021-02-26 四川新网银行股份有限公司 一种基于Kafka的埋点数据实时采集计算和存储的方法
CN112287548A (zh) * 2020-10-29 2021-01-29 国网新疆电力有限公司巴州供电公司 基于宽带网络的配电网实时监控方法及装置
CN113254313A (zh) * 2021-06-04 2021-08-13 挂号网(杭州)科技有限公司 一种监控指标异常检测方法、装置、电子设备及存储介质
CN114048231A (zh) * 2021-09-26 2022-02-15 阿里巴巴新加坡控股有限公司 数据处理方法、装置及计算机程序产品

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
周煜敏;王鹏;汪卫;: "基于Storm的实时大规模传感器监控平台的开发和实现", 计算机应用与软件, no. 12 *
屈志坚;王冬;: "分布式配电网监测的流计算实时并行处理技术", 电力系统及其自动化学报, no. 07 *
屈志坚;王冬;: "面向智能调度监测的流计算并行滑动窗口技术", 电网技术, no. 07 *
崔星灿;禹晓辉;刘洋;吕朝阳;: "分布式流处理技术综述", 计算机研究与发展, no. 02 *
徐明;刘广钟;: "基于物联网的焊机监测系统中突发检测算法研究", 计算机应用研究, no. 01 *
朱奕健;张正卿;: "基于通信运营商数据的大数据实时流处理系统", 中国新通信, no. 03 *
杨杰;曾凌波;彭运勇;蒋迁谦;杜量;: "面向大规模集群的自动化监控系统", 计算机工程与科学, no. 10 *
董斌;杨迪;王铮;周文红;: "流计算大数据技术在运营商实时信令处理中的应用", 电信科学, no. 10 *

Also Published As

Publication number Publication date
CN114666237B (zh) 2023-10-31

Similar Documents

Publication Publication Date Title
KR102346131B1 (ko) 데이터 스트림의 실시간 처리를 위한 시스템 및 방법
US8996695B2 (en) System for monitoring elastic cloud-based computing systems as a service
US20150170070A1 (en) Method, apparatus, and system for monitoring website
EP2874064B1 (en) Adaptive metric collection, storage, and alert thresholds
CN109039817B (zh) 一种用于流量监控的信息处理方法、装置、设备及介质
CN108880934B (zh) 一种基于区块链的数据流量统计方法和装置
CN109787850B (zh) 监控系统、监控方法及计算节点
CN110471821A (zh) 异常变更检测方法、服务器及计算机可读存储介质
US9600523B2 (en) Efficient data collection mechanism in middleware runtime environment
CN111324809A (zh) 一种热点信息监测方法、装置及系统
CN110262951A (zh) 一种业务秒级监控方法及系统、存储介质及客户端
US9225608B1 (en) Evaluating configuration changes based on aggregate activity level
CN112530074A (zh) 排队叫号提醒方法、装置、设备及存储介质
CN114666237B (zh) 秒级监控方法、装置及存储介质
US20230325493A1 (en) Stateful microservice-aware intrusion detection
CN112671602A (zh) 边缘节点的数据处理方法、装置、系统、设备和存储介质
CN116737576A (zh) 系统测试方法和装置
US9606887B2 (en) Persisting large volumes of data in an efficient unobtrusive manner
KR20170131007A (ko) 데이터 분산 서비스 기반의 실시간 통신 감시 시스템
CN113760589A (zh) 一种基于实时流处理框架的服务熔断方法和装置
CN115333917A (zh) 一种cdn异常检测方法及装置
CN112131276A (zh) 一种数据统计的方法、电子设备及可读存储介质
CN110852537A (zh) 服务质量检测方法和装置
CN112491589B (zh) 一种对象存储网络预警方法、系统、终端及存储介质
WO2018137110A1 (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
GR01 Patent grant
GR01 Patent grant