CN111092778A - 基于有限时序数据队列实现api实时预警的***及方法 - Google Patents
基于有限时序数据队列实现api实时预警的***及方法 Download PDFInfo
- Publication number
- CN111092778A CN111092778A CN201911418320.8A CN201911418320A CN111092778A CN 111092778 A CN111092778 A CN 111092778A CN 201911418320 A CN201911418320 A CN 201911418320A CN 111092778 A CN111092778 A CN 111092778A
- Authority
- CN
- China
- Prior art keywords
- early warning
- api
- rule
- time
- time sequence
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 26
- 239000008186 active pharmaceutical agent Substances 0.000 claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000008030 elimination Effects 0.000 claims abstract description 4
- 238000003379 elimination reaction Methods 0.000 claims abstract description 4
- 230000015654 memory Effects 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及微服务应用程序领域,具体涉及基于有限时序数据队列实现API实时预警的***及方法。***包括有限时序队列管理模块、预警规则匹配器、响应超时预警模块、错误码预警模块和请求速率预警模块,方法步骤包括:S1、创建各类API的预警规则;S2、在预警规则下添加需要预警和排除预警的API URL地址;S3、发布预警规则到计算引擎中;S4、构建有限的具有时间顺序的消息队列集合,存储所有API的请求数据,实时记录API请求数据;S5、把需要预警的API请求数据实时与预警规则进行匹配运算;S6、若运算结果触发预警规则中定义的事件则进行相应预警。本发明可以通过实时的API预警给企业大规模部署的API服务提供及时有效的监控和预警手段,保护API的健康运行。
Description
技术领域
本发明涉及微服务应用程序领域,具体涉及基于有限时序数据队列实现API实时预警的***及方法。
背景技术
微服务架构是一项在云中部署应用和服务的新技术。微服务可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有***中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程的架构。
API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件***不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
微服务架构下所有API的请求都必须经过API网关进行路由和数据转发,而企业后端业务***经常存在响应超时、网络闪断、业务执行异常、API主动下线等不可预知的情况,而作为API的调用方则存在同一IP的大量请求、同一时间大流量请求造成API网关出现服务中断或不可用等风险,因为API网关或企业的运维人员必须要能实时感知这种即将发生的风险并提前做好应对措施,此时就需要API网关能实时准确的把这些风险信息第一时间发送给管理人员。
目前的API网关主要是作为HTTP流量转发使用,在实时预警方面缺少相应的技术手段和方法,目前主要是通过抓取HTTP API的请求生成日志数据,再把日志数据传输到数据库中,然后再对API的请求日志数据进行事后分析得到相应的指标,然后再呈现为图形报表或者发送预警消息,这种模式下存在API预警不及时、统计分析速度慢、等收到预警消息时API网关***故障已经发生,只能事后采取补救措施,很容易给企业的关键业务***因为不可用而带来额外的损失。
发明内容
针对现有技术存在的不足,本发明提供了基于有限时序数据队列实现API实时预警的***及方法,其应用时,可以通过实时的API预警给企业大规模部署的API服务提供及时有效的监控和预警手段,能够实时保护API的运行健康状况,提升企业的API服务的运行质量。
本发明所采用的技术方案为:
基于有限时序数据队列实现API实时预警的***,包括有限时序队列管理模块、预警规则匹配器、响应超时预警模块、错误码预警模块和请求速率预警模块;所述有限时序队列管理模块用于在内存中构建一个有限的具有时间顺序的消息队列集合,并通过消息队列集合来实时存储所有API的请求数据并定时清除过期的API请求数据;所述预警规则匹配器用于将接收的API相关请求数据与预设的预警规则数据进行匹配计算;所述响应超时预警模块用于实时收集消息队列集合中API的响应时间,并将API的响应时间发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超时预警消息给管理人员;所述错误码预警模块用于实时收集消息队列集合中API的返回错误码,并将API的返回错误码发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超速预警消息给管理人员;所述请求速率预警模块用于实时收集消息队列集合中API的每秒请求次数,并将API的每秒请求次数发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超速预警消息给管理人员。
作为上述技术方案的优选,所述有限时序队列管理模块创建一个有限的LinkedList集合对像,并限定集合对像的最大可存数据量;所述预警规则匹配器读取所有预警规则到内存中,并根据当前请求的HTTP URL进行循环运算,看是否匹配到某个预警规则;所述响应超时预警模块的处理信息包括规则名称、超时时间、预警间隔时间、生效服务器、预警触发次数、当前状态、累计超时次数、触发超时预警的次数、预警内容和事件API;所述错误码预警模块的处理信息包括错误码规则名称、HTTP错误码、预警间隔时间、生效服务器、预警触发次数、当前状态、累计请求次数、触发预警的HTTP错误次数、预警内容和事件API;所述请求速率预警模块的处理信息包括规则名称、限速类型、预警间隔时间、生效服务器、预警触发次数、当前状态、速率维度、总请求次数、累计超速次数、预警内容和事件API。
基于有限时序数据队列实现API实时预警的方法,包括以下步骤:
S1、创建各类API的预警规则;
S2、在创建的预警规则下添加需要预警和需要排除预警的API URL地址;
S3、发布预警规则到计算引擎中;
S4、构建有限的具有时间顺序的消息队列集合,并通过消息队列集合实时存储所有API的请求数据,在队列中实时记录API请求数据;
S5、把消息队列集合中需要预警的API对应请求数据实时与预警规则进行匹配运算;
S6、若运算结果触发预警规则中定义的事件则进行相应预警。
作为上述技术方案的优选,所述步骤S1的具体步骤包括:
S11、创建相应的预警规则;
S12、在创建的预警规则中指定规则名称以及包含响应超时、错误码和请求速率的预警类型;
S13、设定要累计预警的总请求次数以及每次预警的间隔时间;
S14、根据用户选择的预警规则类型分别设定响应超时次数、错误码次数、每秒最大请求次数;
S15、保存创建的预警规则并设为发布状态。
作为上述技术方案的优选,所述步骤S2的具体步骤包括:
S21、在创建的预警规则下添加需要进行预警的API URL地址列表,需要进行预警的API URL地址采取匹配模式,即只要符合此URL开头的请求均认为匹配本规则;
S22、在创建的预警规则下添加需要排除预警的API URL地址列表,只要请求的APIURL地址在列表中则不参与此预警规则的匹配计算。
作为上述技术方案的优选,所述步骤S3的具体步骤包括:
S31、选择一个或多个需要发布的预警规则;
S32、根据用户操作进行预警规则的发布或者停止发布。
作为上述技术方案的优选,所述步骤S4的具体步骤包括:
S41、把请求的API数据加入到一个有限时序队列LinkedList中;
S42、判断是否超过有限时序队列的最大记录数值,如果超过则删除最末尾加入的记录。
作为上述技术方案的优选,所述步骤S5的具体步骤包括:
S51、获取所有的预警规则列表;
S52、读取每个预警规则中包含的API URL地址进行字符串匹配运算;
S53、把匹配成功的预警规则放入到有限时序队列LinkedList中,并按预警规则取出有限时序队列LinkedList中的最新数据与规则中预设定的数值进行比较,获得比较结果。
作为上述技术方案的优选,所述步骤S6的具体步骤包括:在步骤S53中,获得比较结果后,若预警条件成立,则读取预警规则中的事件API并发送预警消息,若预警条件不成立,则匹配不成功,取消事件的触发。
本发明的有益效果为:
本发明通过实时收集API请求数据放入到内存的队列中并与URL配置的预警规则进行实时运算匹配,当计算成立时***立即发送预警消息给管理人员,当不成立时***跳过事件的触发,预警规则触发后***将记录每次触发的URL地址、调用者、调用时间、请求IP地址、响应状态码、执行服务器ID等信息,通过实时的API预警方法给企业大规模部署API服务提供了很好的监控和预警手段,能够实时保护API的运行健康状况,提升企业的API服务的运行质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为实施例2中API实时预警的流程示意图;
图2为实施例2中实时数据存储流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。
应当理解,术语第一、第二等仅用于区分描述,而不能理解为指示或暗示相对重要性。尽管本文可以使用术语第一、第二等等来描述各种单元,这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况,本文中术语“/和”是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况,另外,本文中字符“/”,一般表示前后关联对象是一种“或”关系。
应当理解,在本发明的描述中,术语“上”、“竖直”、“内”、“外”等指示的方位或位置关系,是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
应当理解,当将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,当将单元称作与另一个单元“直接相连”或“直接耦合”时,不存在中间单元。应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
本文使用的术语仅用于描述特定实施例,并且不意在限制本发明的示例实施例。如本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解术语“包括”、“包括了”、“包含”、和/或“包含了”当在本文中使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。
还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。
在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出***,以避免用不必要的细节来使得示例不清楚。在其他实施例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。
实施例1:
本实施例提供了基于有限时序数据队列实现API实时预警的***,包括:
响应超时预警模块:响应超时预警模块主要功能是对需要进行API响应时间进行实时预警的URL进行设定,通过创建响应超时规则,并在规则中指定规则名称、超时时间(毫秒)、最近总请求次数、累计超时次数、重置计数器、预警间隔、预警消息内容、触发事件API设定等。规则设置完成后持久化存储到MongoDB数据库中,预警匹配器运行时会实时把预警规则的配置数据加载到内存中,避免因为每次匹配都从数据库中读取影响API的性能,预警发送过一次后会间隔一段时间再发送可以避免同时时间发送大量消息给管理人员。
错误码预警模块:错误码预警模块主要功能是对需要进行API转发的HTTP非200的状态码时进行实时预警的URL进行配置,通过创建错误码规则,并在规则中指定规则名称、错误码(多个用逗号分隔)、最近总请求次数、累计错误发生次数、重置计数器、预警间隔、预警消息内容、触发事件API设定等。规则设置完成后持久化存储到MongoDB数据库中,预警匹配器运行时会实时把预警规则的配置数据加载到内存中,避免因为每次匹配都从数据库中读取影响API的性能,预警发送过一次后会间隔一段时间再发送可以避免同时时间发送大量消息给管理人员。
请求速率预警模块:请求速率预警模块主要功能是对需要发生大并发请求的API进行实时速度的预警配置,通过创建请求速率预警规则,并在规则中指定规则名称、速率维度(相同IP、相同用户、同一URL、每秒QPS)、最近总请求次数、累计次数达到数、预警间隔、预警消息内容、触发事件API设定等。规则设置完成后持久化存储到MongoDB数据库中,预警匹配器运行时会实时把预警规则的配置数据加载到内存中,避免因为每次匹配都从数据库中读取影响API的性能,预警发送过一次后会间隔一段时间再发送可以避免同时时间发送大量消息给管理人员。
有限时序队列管理模块:有限时序队列管理模块主要用来存储所有API的实时请求数据,由于API请求数量大时将占用服务器的较多内存,为了控制内存数必须给数据队列设定一个最大阀值,超过设定阀值时***将删除旧的请求数据,保持总体请求队列数据不变,同时需要考虑在大并发的情况下同时读写队列可能产生的异常问题,所以必须在读取和写入之间加入同步锁或者复杂队列数据进行操作,下面给出LinkedList有限时序队列的实现示例代码:
预警规则匹配器:预警规则匹配器主要功能是先加载所有预警规则到内存中,然后再根据当前请求的Request URL地址逐个与预警规则进行URL匹配,当匹配成功后开始进行响应时间、错误码、请求速虑的数择对比分析,当对比数据成立时立即触发预警规则中指定的事件,预警规则匹配器的Java实现代码如下:
API请求数据与队列数居对比分析代码实现如下:
本发明在API请求时把所有请求数据先存储到一个LinkedList有限集合中,再根据预警规则中预设定的各种参数值与LinkedList有限集合中的数据进行实时对比,当匹配成立时***立即触发预警事件并发送消息给管理人员。采用了本发明的API网关***的预警将成为实时的预警机制,在API监控上带来管理和监控方面的效率提升,使得管理人员能够在第一时间收到API网关发来的响应超时预警、错误码预警、请求超速预警从而第一时间做好***风险的处理措施,为企业大规模的API服务注册到网关中运行时提供了安全保障措施。
实施例2:
本实施例提供了基于有限时序数据队列实现API实时预警的方法,如图1所示,包括以下步骤:
S1、创建各类API的预警规则;
S2、在创建的预警规则下添加需要预警和需要排除预警的API URL地址;
S3、发布预警规则到计算引擎中;
S4、构建有限的具有时间顺序的消息队列集合,并通过消息队列集合实时存储所有API的请求数据,在队列中实时记录API请求数据;
S5、把消息队列集合中需要预警的API对应请求数据实时与预警规则进行匹配运算;
S6、若运算结果触发预警规则中定义的事件则进行相应预警。
所述步骤S1的具体步骤包括:
S11、创建相应的预警规则,可通过Web界面进行创建;
S12、在创建的预警规则中指定规则名称以及包含响应超时、错误码和请求速率的预警类型;
S13、设定要累计预警的总请求次数以及每次预警的间隔时间;
S14、根据用户选择的预警规则类型分别设定响应超时次数、错误码次数、每秒最大请求次数;
S15、保存创建的预警规则并设为发布状态。
所述步骤S2的具体步骤包括:
S21、在创建的预警规则下添加需要进行预警的API URL地址列表,需要进行预警的API URL地址采取匹配模式,即只要符合此URL开头的请求均认为匹配本规则;
S22、在创建的预警规则下添加需要排除预警的API URL地址列表,只要请求的APIURL地址在列表中则不参与此预警规则的匹配计算。
所述步骤S3的具体步骤包括:
S31、选择一个或多个需要发布的预警规则;
S32、根据用户操作进行预警规则的发布或者停止发布。
如图2所示,所述步骤S4的具体步骤包括:
S41、把请求的API数据加入到一个有限时序队列LinkedList中;
S42、判断是否超过有限时序队列的最大记录数值,如果超过则删除最末尾加入的记录。
所述步骤S5的具体步骤包括:
S51、获取所有的预警规则列表;
S52、读取每个预警规则中包含的API URL地址进行字符串匹配运算;
S53、把匹配成功的预警规则放入到有限时序队列LinkedList中,并按预警规则取出有限时序队列LinkedList中的最新数据与规则中预设定的数值进行比较,获得比较结果。
所述步骤S6的具体步骤包括:在步骤S53中,获得比较结果后,若预警条件成立,则读取预警规则中的事件API并发送预警消息,若预警条件不成立,则匹配不成功,取消事件的触发。
通过实时收集API请求数据放入到内存的队列中并与URL配置的预警规则进行实时运算匹配,当计算成立时***立即发送预警消息给管理人员,当不成立时***跳过事件的触发,预警规则触发后***将记录每次触发的URL地址、调用者、调用时间、请求IP地址、响应状态码、执行服务器ID等信息,通过实时的API预警方法给企业大规模部署API服务提供了很好的监控和预警手段,能够实时保护API的运行健康状况,提升企业的API服务的运行质量。
本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。
Claims (9)
1.基于有限时序数据队列实现API实时预警的***,其特征在于:包括有限时序队列管理模块、预警规则匹配器、响应超时预警模块、错误码预警模块和请求速率预警模块;所述有限时序队列管理模块用于在内存中构建一个有限的具有时间顺序的消息队列集合,并通过消息队列集合来实时存储所有API的请求数据并定时清除过期的API请求数据;所述预警规则匹配器用于将接收的API相关请求数据与预设的预警规则数据进行匹配计算;所述响应超时预警模块用于实时收集消息队列集合中API的响应时间,并将API的响应时间发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超时预警消息给管理人员;所述错误码预警模块用于实时收集消息队列集合中API的返回错误码,并将API的返回错误码发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超速预警消息给管理人员;所述请求速率预警模块用于实时收集消息队列集合中API的每秒请求次数,并将API的每秒请求次数发送至预警规则匹配器与预警规则进行匹配,当反馈的匹配结果达到触发条件时立即发送超速预警消息给管理人员。
2.根据权利要求1所述的基于有限时序数据队列实现API实时预警的***,其特征在于:所述有限时序队列管理模块创建一个有限的LinkedList集合对像,并限定集合对像的最大可存数据量;所述预警规则匹配器读取所有预警规则到内存中,并根据当前请求的HTTP URL进行循环运算,看是否匹配到某个预警规则;所述响应超时预警模块的处理信息包括规则名称、超时时间、预警间隔时间、生效服务器、预警触发次数、当前状态、累计超时次数、触发超时预警的次数、预警内容和事件API;所述错误码预警模块的处理信息包括错误码规则名称、HTTP错误码、预警间隔时间、生效服务器、预警触发次数、当前状态、累计请求次数、触发预警的HTTP错误次数、预警内容和事件API;所述请求速率预警模块的处理信息包括规则名称、限速类型、预警间隔时间、生效服务器、预警触发次数、当前状态、速率维度、总请求次数、累计超速次数、预警内容和事件API。
3.根据权利要求1或2所述的基于有限时序数据队列实现API实时预警的***,提供基于有限时序数据队列实现API实时预警的方法,其特征在于,包括以下步骤:
S1、创建各类API的预警规则;
S2、在创建的预警规则下添加需要预警和需要排除预警的API URL地址;
S3、发布预警规则到计算引擎中;
S4、构建有限的具有时间顺序的消息队列集合,并通过消息队列集合实时存储所有API的请求数据,在队列中实时记录API请求数据;
S5、把消息队列集合中需要预警的API对应请求数据实时与预警规则进行匹配运算;
S6、若运算结果触发预警规则中定义的事件则进行相应预警。
4.根据权利要求3所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S1的具体步骤包括:
S11、创建相应的预警规则;
S12、在创建的预警规则中指定规则名称以及包含响应超时、错误码和请求速率的预警类型;
S13、设定要累计预警的总请求次数以及每次预警的间隔时间;
S14、根据用户选择的预警规则类型分别设定响应超时次数、错误码次数、每秒最大请求次数;
S15、保存创建的预警规则并设为发布状态。
5.根据权利要求3所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S2的具体步骤包括:
S21、在创建的预警规则下添加需要进行预警的API URL地址列表,需要进行预警的APIURL地址采取匹配模式,即只要符合此URL开头的请求均认为匹配本规则;
S22、在创建的预警规则下添加需要排除预警的API URL地址列表,只要请求的API URL地址在列表中则不参与此预警规则的匹配计算。
6.根据权利要求3所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S3的具体步骤包括:
S31、选择一个或多个需要发布的预警规则;
S32、根据用户操作进行预警规则的发布或者停止发布。
7.根据权利要求3所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S4的具体步骤包括:
S41、把请求的API数据加入到一个有限时序队列LinkedList中;
S42、判断是否超过有限时序队列的最大记录数值,如果超过则删除最末尾加入的记录。
8.根据权利要求3所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S5的具体步骤包括:
S51、获取所有的预警规则列表;
S52、读取每个预警规则中包含的API URL地址进行字符串匹配运算;
S53、把匹配成功的预警规则放入到有限时序队列LinkedList中,并按预警规则取出有限时序队列LinkedList中的最新数据与规则中预设定的数值进行比较,获得比较结果。
9.根据权利要求8所述的基于有限时序数据队列实现API实时预警的方法,其特征在于:所述步骤S6的具体步骤包括:在步骤S53中,获得比较结果后,若预警条件成立,则读取预警规则中的事件API并发送预警消息,若预警条件不成立,则匹配不成功,取消事件的触发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418320.8A CN111092778A (zh) | 2019-12-31 | 2019-12-31 | 基于有限时序数据队列实现api实时预警的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911418320.8A CN111092778A (zh) | 2019-12-31 | 2019-12-31 | 基于有限时序数据队列实现api实时预警的***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111092778A true CN111092778A (zh) | 2020-05-01 |
Family
ID=70398039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911418320.8A Pending CN111092778A (zh) | 2019-12-31 | 2019-12-31 | 基于有限时序数据队列实现api实时预警的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111092778A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901416A (zh) * | 2020-07-28 | 2020-11-06 | 中冶南方工程技术有限公司 | 一种解决大数据平台数据冲击的***和方法 |
CN112148508A (zh) * | 2020-09-30 | 2020-12-29 | 深圳市晨北科技有限公司 | 一种信息处理的方法及相关装置 |
CN112270572A (zh) * | 2020-11-03 | 2021-01-26 | 恩亿科(北京)数据科技有限公司 | 自动化营销方法、***、电子设备及计算机可读存储介质 |
CN112822095A (zh) * | 2021-01-26 | 2021-05-18 | 广州欢网科技有限责任公司 | 基于api网关的报警装置和api网关 |
CN115776435A (zh) * | 2022-10-24 | 2023-03-10 | 华能信息技术有限公司 | 一种基于api网关的预警方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306300A (zh) * | 2015-11-03 | 2016-02-03 | 北京京东尚科信息技术有限公司 | 网络集群实时监控方法和*** |
CN108845910A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 大规模微服务***的监控方法、装置及存储介质 |
US20180357079A1 (en) * | 2017-06-13 | 2018-12-13 | Western Digital Technologies, Inc. | Rule-Based Monitoring Engine With Tracing Capabilities for Multi-Threaded Logging |
CN109104302A (zh) * | 2018-07-18 | 2018-12-28 | 杭州鑫合汇互联网金融服务有限公司 | 一种全链路追踪监控方法 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关*** |
-
2019
- 2019-12-31 CN CN201911418320.8A patent/CN111092778A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306300A (zh) * | 2015-11-03 | 2016-02-03 | 北京京东尚科信息技术有限公司 | 网络集群实时监控方法和*** |
US20180357079A1 (en) * | 2017-06-13 | 2018-12-13 | Western Digital Technologies, Inc. | Rule-Based Monitoring Engine With Tracing Capabilities for Multi-Threaded Logging |
CN108845910A (zh) * | 2018-05-31 | 2018-11-20 | 康键信息技术(深圳)有限公司 | 大规模微服务***的监控方法、装置及存储介质 |
CN109104302A (zh) * | 2018-07-18 | 2018-12-28 | 杭州鑫合汇互联网金融服务有限公司 | 一种全链路追踪监控方法 |
CN109672612A (zh) * | 2018-12-13 | 2019-04-23 | 中国电子科技集团公司电子科学研究院 | Api网关*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901416A (zh) * | 2020-07-28 | 2020-11-06 | 中冶南方工程技术有限公司 | 一种解决大数据平台数据冲击的***和方法 |
CN111901416B (zh) * | 2020-07-28 | 2023-06-27 | 中冶南方工程技术有限公司 | 一种解决大数据平台数据冲击的***和方法 |
CN112148508A (zh) * | 2020-09-30 | 2020-12-29 | 深圳市晨北科技有限公司 | 一种信息处理的方法及相关装置 |
CN112270572A (zh) * | 2020-11-03 | 2021-01-26 | 恩亿科(北京)数据科技有限公司 | 自动化营销方法、***、电子设备及计算机可读存储介质 |
CN112822095A (zh) * | 2021-01-26 | 2021-05-18 | 广州欢网科技有限责任公司 | 基于api网关的报警装置和api网关 |
CN115776435A (zh) * | 2022-10-24 | 2023-03-10 | 华能信息技术有限公司 | 一种基于api网关的预警方法 |
CN115776435B (zh) * | 2022-10-24 | 2024-03-01 | 华能信息技术有限公司 | 一种基于api网关的预警方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092778A (zh) | 基于有限时序数据队列实现api实时预警的***及方法 | |
CN107992398B (zh) | 一种业务***的监控方法和监控*** | |
CN109739727B (zh) | 微服务架构中的服务监控方法及装置 | |
US8959530B1 (en) | Messaging middleware processing thread count based events | |
US10057285B2 (en) | System and method for auditing governance, risk, and compliance using a pluggable correlation architecture | |
CN108572907B (zh) | 一种告警方法、装置、电子设备及计算机可读存储介质 | |
US9419650B2 (en) | Flexible event data content management for relevant event and alert analysis within a distributed processing system | |
US10505881B2 (en) | Generating message envelopes for heterogeneous events | |
CN110232010A (zh) | 一种告警方法、告警服务器及监控服务器 | |
US10652103B2 (en) | System and method for handling events involving computing systems and networks using fabric monitoring system | |
US8832259B1 (en) | Virtual service mode methods for network remote monitoring and managing system | |
CN111708679A (zh) | 日志监控方法、***、装置和存储介质 | |
KR101416280B1 (ko) | 이벤트 처리 시스템 및 방법 | |
CN112463772B (zh) | 日志处理方法、装置、日志服务器及存储介质 | |
CN111565135A (zh) | 监控服务器运行的方法、监控服务器和存储介质 | |
CN113452607A (zh) | 分布式链路采集的方法、装置、计算设备和存储介质 | |
CN101605075B (zh) | 一种基于sip的ip电话故障告警方法及装置 | |
CN111782431A (zh) | 一种异常的处理方法、装置、终端及存储介质 | |
EP1785866A1 (en) | Alarm consolidaton in IT infrastructures | |
CN115220995A (zh) | 一种基于agent探针的微服务全链路分析方法 | |
JP2000250833A (ja) | 複数サーバ運用管理における稼働情報取得方法およびそのプログラムを記録した記録媒体 | |
CN114978885A (zh) | 一种日志管理方法、装置、计算机设备及*** | |
US8468121B1 (en) | Resolving resource time intervals in a distributed system | |
CN111983960A (zh) | 一种监控***及方法 | |
JP7211026B2 (ja) | ジョブ管理システム |
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 |
Application publication date: 20200501 |
|
RJ01 | Rejection of invention patent application after publication |