CN113010372A - 一种api监控的分布式实现方法和系统 - Google Patents
一种api监控的分布式实现方法和系统 Download PDFInfo
- Publication number
- CN113010372A CN113010372A CN202011424113.6A CN202011424113A CN113010372A CN 113010372 A CN113010372 A CN 113010372A CN 202011424113 A CN202011424113 A CN 202011424113A CN 113010372 A CN113010372 A CN 113010372A
- Authority
- CN
- China
- Prior art keywords
- api
- task
- monitoring
- data
- distributed implementation
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000008569 process Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 abstract description 5
- 241000283690 Bos taurus Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241001300571 Alaba Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种API监控的分布式实现方法和系统。该方法主要包括如下步骤:S3、部署于预定位置的分布式监测点访问任务指定的目标API;S4、收集目标API的相关数据;S5、对获取到的API数据进行处理;S6、将处理后的数据上报;S7、对上报的数据进行处理,生成监控结果。借此,本发明可以支持监控HTTP/HTTPS协议的目标API,并可以实现对目标API监控数据的分析、统计、审查,能够及时发现触发告警线的任务,并据此向用户发出告警通知。
Description
技术领域
本发明属于API监控领域,具体涉及一种API监控的分布式实现方法和系统,主要用于API监控的分布式实现。
背景技术
随着互联网架构技术发展,API(即应用程序接口,Application ProgrammingInterface的简称)的使用被推广开来,在电子商务、金融、工业、医疗等多个领域中广泛应用。其特点为:简单、灵活、快捷。服务与服务之间通过各种各样的API来完成业务上的交互,大大提高了生产效率;各平台合作伙伴之间得以寻求更大的发展。数据信息交互保障业务API的正确性、可用性是最基本的前提,那么及时发现并修复业务API出现的各种问题就显得尤为重要。
目前,亟需一种API监控的分布式实现方法。
发明内容
为了解决现有技术的上述问题,一方面,本发明提供一种API监控的分布式实现方法,其可以分布式实现API监控。
为了达到上述目的,本发明采用的主要技术方案包括:
一种API监控的分布式实现方法,其包括如下步骤:
S3、部署于预定位置的分布式监测点访问任务指定的目标API;
S4、收集目标API的相关数据;
S5、对获取到的API数据进行处理;
S6、将处理后的数据上报;
S7、对上报的数据进行处理,生成监控结果。
借助上述方案,本发明的API监控的分布式实现方法,其分布式监测点可以支持监控HTTP/HTTPS协议的目标API,并可以实现对目标API监控数据的分析、统计、审查,能够及时发现触发告警线的任务,并据此向用户发出告警通知。
本发明一个实施例的API监控的分布式实现方法,步骤S5中对数据进行如下处理:S51、生成历史快照。借此,通过记录历史快照,可以保障目标API出现的问题可追溯。
较佳的,生成历史快照临时文件。
本发明一个实施例的API监控的分布式实现方法,步骤S5中对数据进行如下处理:S52、得到任务的告警状态。
较佳的,将任务的告警状态存入缓存。
本发明一个实施例的API监控的分布式实现方法,步骤S6中将处理后的数据上报到API调度器。
本发明一个实施例的API监控的分布式实现方法,步骤S7中API调度器接收监测点上报的数据,并对上报的数据进行处理。
本发明一个实施例的API监控的分布式实现方法,步骤S7中对数据进行的处理包括下列处理中的任一或任几种:
S71、进行数据统计;
S72、产生告警消息;
S73、判断是否上传历史快照;
S74、统计任务故障信息。
较佳的,S71、进行数据统计并录入数据库(例如通过Cobar入库)。
较佳的,S72、产生告警消息并发送到告警信息接收服务(例如alert_interface)。
更进一步的,SaaS的“alert_interface”将判定后需要发送给用户的告警消息存入数据库并将告警线状态更新存入缓存。
较佳的,S73、判断是否上传历史快照,如判断结果为是,则将该任务历史快照记录信息插入任务基础数据库DB。
较佳的,S74、统计任务故障信息并写入任务基础数据库DB。借此,可以对分布式监测点进行统一配置,在执行任务时可以采用统一的执行超时时间,当某任务在某监测点执行超时,就可以被记录下来,保证了各监测点可以在有效的时间内向API调度器上报数据。
本发明一个实施例的API监控的分布式实现方法,其步骤S3之前还包括步骤:S2、部署于预定位置的分布式监测点向API调度器请求需要执行的任务列表。借助由分布式监测点向API调度器主动拉取任务的方式,可以保证各监测点的调度周期一致且准确,保证了各监测点的负载平稳。
较佳的,将任务列表放入监测点任务执行队列等待执行。
本发明一个实施例的API监控的分布式实现方法,其步骤S3之前还包括步骤:S1、API调度器从任务基础数据库(简称DB,全文同)取任务。
较佳的,将取得的任务放入缓存(例如放入内嵌LevelDB)。
本发明一个实施例的API监控的分布式实现方法,其步骤S3之前还包括步骤:S0、生成任务基础数据库。
其中,任务基础数据库中包括API任务数据。
其中,API任务数据可以是来自SaaS。例如用户通过SaaS录入API任务数据。
本发明一个实施例的API监控的分布式实现方法,其步骤S7之后还包括:S8、监测点上的服务从API调度器获取需要上传历史快照的任务列表。
本发明一个实施例的API监控的分布式实现方法,其步骤S7之后还包括:S9、根据监测点上的服务从API调度器取得的需要上传历史快照的任务列表,将该任务的历史快照文件上传至预定位置(例如上传到七牛)。
上述任一个实施例的API监控的分布式实现方法,其任务基础数据库可以是MySQL数据库。
另一方面,本发明还提供一种API监控的分布式实现系统,其可以分布式实现API监控。
为了达到上述目的,本发明采用的主要技术方案包括:
一种API监控的分布式实现系统,其包括:
目标API访问模块,设于部署于预定位置的分布式监测点,用于访问任务指定的目标API;
API数据收集模块,用于收集目标API的相关数据;
API数据处理模块,用于对获取到的API数据进行处理;
数据上报模块,用于将API数据处理模块处理后的数据上报;
监控结果生成模块,用于对上报的数据进行处理,生成监控结果。
借助上述方案,本发明的API监控的分布式实现系统,其分布式监测点可以支持监控HTTP/HTTPS协议的目标API,并可以实现对目标API监控数据的分析、统计、审查,能够及时发现触发告警线的任务,并据此向用户发出告警通知。
本发明一个实施例的API监控的分布式实现系统,其API数据处理模块包括:历史快照生成子模块,用于生成历史快照。
本发明一个实施例的API监控的分布式实现系统,其API数据处理模块包括:告警状态获取子模块,用于得到任务的告警状态。
本发明一个实施例的API监控的分布式实现系统,其还包括:API调度器,监控结果生成模块设于API调度器,API调度器还包括上报数据接收模块,用于接收数据上报模块上报的数据。
本发明一个实施例的API监控的分布式实现系统,其监控结果生成模块包括:数据统计子模块,用于进行数据统计。
本发明一个实施例的API监控的分布式实现系统,其监控结果生成模块包括:告警消息生成子模块,用于产生告警消息。
本发明一个实施例的API监控的分布式实现系统,其监控结果生成模块包括:历史快照上传判定子模块,用于判断是否上传历史快照。
本发明一个实施例的API监控的分布式实现系统,其监控结果生成模块包括:任务故障信息统计子模块,用于统计任务故障信息。
本发明一个实施例的API监控的分布式实现系统,其还包括:任务列表请求模块,用于向API调度器请求需要执行的任务列表。
较佳的,还包括任务执行队列等待模块,用于放入等待执行的任务列表。
本发明一个实施例的API监控的分布式实现系统,其还包括:任务获取模块,用于供API调度器从任务基础数据库(简称DB,全文同)取任务。
本发明一个实施例的API监控的分布式实现系统,其还包括:API任务数据写入模块,用于向任务基础数据库写入API任务数据。
本发明一个实施例的API监控的分布式实现系统,其还包括:历史快照上传任务列表获取模块,用于监测点上的服务从API调度器获取需要上传历史快照的任务列表。
本发明一个实施例的API监控的分布式实现系统,其还包括:历史快照上传模块,用于根据监测点上的服务从API调度器取得的需要上传历史快照的任务列表,将该任务的历史快照文件上传至预定位置(例如上传到七牛)。
本发明一个实施例的API监控的分布式实现系统,其还包括:历史快照缓存模块,用于缓存历史快照生成子模块生成的历史快照缓存文件。
上述任一个实施例的API监控的分布式实现系统,其任务基础数据库可以是MySQL数据库。
附图说明
图1为本发明一个实施例的API监控的分布式实现方法的主要流程示意图;
图2为本发明又一个实施例的API监控的分布式实现方法的主要流程示意图;
图3为本发明一个实施例的API监控的分布式实现系统的结构示意图;
图4为本发明又一个实施例的API监控的分布式实现系统的结构示意图;
图5为本发明一个应用例中的系统逻辑架构示意图;
图6为本发明一个应用例中的系统数据架构示意图;
图7为本发明一个应用例中的数据处理流程示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
参见图1,本发明一个实施例的API监控的分布式实现方法,其包括如下步骤:
S3、部署于预定位置的分布式监测点访问任务指定的目标API;
S4、收集目标API的相关数据;
S5、对获取到的API数据进行处理;
S6、将处理后的数据上报;
S7、对上报的数据进行处理,生成监控结果。
借助上述方案,本发明的API监控的分布式实现方法,其分布式监测点可以支持监控HTTP/HTTPS协议的目标API,并可以实现对目标API监控数据的分析、统计、审查,能够及时发现触发告警线的任务,并据此向用户发出告警通知。
参见图2,本发明一个较佳实施例的API监控的分布式实现方法,其包括如下步骤:
S0、生成任务基础数据库;
S1、API调度器从任务基础数据库(简称DB,全文同)取任务;
S2、部署于预定位置的分布式监测点向API调度器请求需要执行的任务列表;
S3、部署于预定位置的分布式监测点访问任务指定的目标API;
S4、收集目标API的相关数据;
S5、对获取到的API数据进行处理;
S6、将处理后的数据上报;
S7、对上报的数据进行处理,生成监控结果;
S8、监测点上的服务从API调度器获取需要上传历史快照的任务列表;
S9、根据步骤S8的任务列表,将该任务的历史快照文件上传至预定位置(例如上传到七牛)。
其中,步骤S0中,用户通过SaaS录入的API任务数据被写入MySQL数据库,生成任务基础数据库。
其中,步骤S1中,可以将取得的任务放入缓存(例如放入内嵌LevelDB)。
其中,步骤S5中对数据可以进行如下处理:S51、生成历史快照。借此,通过记录历史快照,可以保障目标API出现的问题可追溯。
较佳的,生成历史快照临时文件。
其中,步骤S5中对数据可以进行如下处理:S52、得到任务的告警状态。
较佳的,将任务的告警状态存入缓存。
其中,步骤S6中可以将处理后的数据上报到API调度器。
其中,步骤S7中可以由API调度器接收监测点上报的数据,并对上报的数据进行处理。
其中,步骤S7中对数据进行的处理包括下列处理中的任一或任几种:
S71、进行数据统计;
S72、产生告警消息;
S73、判断是否上传历史快照;
S74、统计任务故障信息。
较佳的,S71、进行数据统计并录入数据库(例如通过Cobar入库)。
较佳的,S72、产生告警消息并发送到告警信息接收服务(例如alert_interface)。
更进一步的,SaaS的“alert_interface”将判定后需要发送给用户的告警消息存入数据库并将告警线状态更新存入缓存。
较佳的,S73、判断是否上传历史快照,如判断结果为是,则将该任务历史快照记录信息插入任务基础数据库DB。
较佳的,S74、统计任务故障信息并写入任务基础数据库DB。借此,可以对分布式监测点进行统一配置,在执行任务时可以采用统一的执行超时时间,当某任务在某监测点执行超时,就可以被记录下来,保证了各监测点可以在有效的时间内向API调度器上报数据。
参见图3,本发明一个实施例的API监控的分布式实现系统,其包括:
目标API访问模块,设于部署于预定位置的分布式监测点,用于访问任务指定的目标API;
API数据收集模块,用于收集目标API的相关数据;
API数据处理模块,用于对获取到的API数据进行处理;
数据上报模块,用于将API数据处理模块处理后的数据上报;
监控结果生成模块,用于对上报的数据进行处理,生成监控结果。
参见图4,本发明一个较佳实施例的API监控的分布式实现系统,其包括:
API任务数据写入模块,用于向任务基础数据库写入API任务数据;
任务获取模块,用于从任务基础数据库获取任务;
任务列表请求模块,用于请求需要执行的任务列表。
目标API访问模块,设于部署于预定位置的分布式监测点,用于访问任务指定的目标API;
API数据收集模块,用于收集目标API的相关数据;
API数据处理模块,用于对获取到的API数据进行处理;
数据上报模块,用于将API数据处理模块处理后的数据上报;
上报数据接收模块,用于接收数据上报模块上报的数据。
监控结果生成模块,用于对上报的数据进行处理,生成监控结果。
历史快照上传任务列表获取模块,用于获取需要上传历史快照的任务列表。
历史快照上传模块,用于根据取得的需要上传历史快照的任务列表,将该任务的历史快照文件上传至预定位置。
其中,API数据处理模块可以包括:历史快照生成子模块,用于生成历史快照。
其中,API数据处理模块可以包括:告警状态获取子模块,用于得到任务的告警状态。
其中,监控结果生成模块可以包括:数据统计子模块,用于进行数据统计。
其中,监控结果生成模块可以包括:告警消息生成子模块,用于产生告警消息。
其中,监控结果生成模块可以包括:历史快照上传判定子模块,用于判断是否上传历史快照。
其中,监控结果生成模块可以包括:任务故障信息统计子模块,用于统计任务故障信息。
较佳的,还包括任务执行队列等待模块,用于放入等待执行的任务列表。
较佳的,还包括历史快照缓存模块,用于缓存历史快照生成子模块生成的历史快照缓存文件。
上述任一个实施例中,其任务基础数据库可以是MySQL数据库。
为了便于理解,下面还通过具体应用例对本发明做进一步说明。
图5示出了应用例中的系统逻辑架构,具体如下:
本发明的API监控的监测点为分布式部署,可以在全球各地部署独立的监控服务器,并安装部署监控程序。
调度器:API监控中负责扫描并存储下一周期将要被执行的任务列表,并在“监测点程序”来请求任务的时候,将本周期对应的任务派发给它。同时还负责接受“监测点程序”上报的监控数据,进行数据统计(小时统计、天统计、故障统计等);通过相关判定逻辑,判断是否产生告警消息并发送给“告警消息接口”、确认是否记录快照等。
分布式监测点程序:部署在分布于世界各地多种网络运营商的物理主机上,负责执行从“调度器”获取的任务。具体工作是:访问任务指定的目标API收集相关数据进行分析、处理(可用性、正确性判定、断言处理、变量提取等),将处理后的数据上报给“调度器”,之后产生该任务的快照文件,再从“调度器”取得需要上传历史快照的任务,将该任务历史快照文件上传到七牛云存储。
告警消息接口:负责接受API监控任务产生的告警消息,通过告警消息来判定任务各告警线的状态是触发告警还是告警恢复;同时还需要判定此告警消息是否满足用户设定的告警发送频率,如果需要发送将此告警消息存入MySQL,如果不需要发送,此告警消息将被忽略。
本应用例中,用户可以在API监控SaaS录入任务信息,录入的任务信息会通过程序写入MySQL数据库。API调度器可以从MySQL数据库获取任务信息,并写入缓存。各API监测点的服务程序可以通过接口从API调度器获取将要执行的任务数据。根据获取的任务数据,各API监测点的服务程序对任务设定的目标API进行访问,然后产生快照和对采集数据进行处理,并将任务的告警状态存入缓存。各API监测点的服务程序与API调度器确认后,将产生的快照上传到七牛云存储。API调度器可以将本次任务产生的告警消息通过接口发送给API监控SaaS的“alert_interface”,“alert_interface”将判定后需要发送给用户的告警消息存入数据库并将告警线状态更新存入缓存。最后,告警发送服务将告警消息通过用户在任务设置中设定的方式发送给用户。据此,用户可以通过API监控SaaS,审查任务相关的监控数据和快照等信息。
图6示出了应用例中的系统数据架构,具体如下:
HttpClient:HttpClient是Apache Jakarta Common下的子项目,他是一个第三方库,基于java实现,开发者可以使用这个库提供的API方便进行HTTP请求。API监控中负责访问用户在任务中设定目标API,获取Http通信各环节的数据。
Cobar:Cobar是阿里巴巴开源的一个对应用保持透明的MySQL数据库分布式处理中间件.在API监控中负责提供MySQL按照监测点分库按天分表的能力。
LevelDB:Leveldb是一个google实现的非常高效的Key-Value开源数据库。API监控中负责储存调度器从DB获取的任务基础信息。
MySQL:MySQL是一个开源关系型数据库管理系统,目前属于Oracle旗下产品。为多种编程语言提供了API,支持多种存储引擎,使用标准的SQL数据语言形式进行管理操作。API监控中与Cobar协同工作,完成对持久化数据存储和读取的工作。如:任务基本信息数据、任务聚合统计数据、告警消息等。
其中,数据架构包括:
1.用户由SaaS录入API任务数据;
2.API任务基础数据入DB;
3.API调度器定时从任务基础数据DB取任务(放入内嵌LevelDB);
4.部署在监测点上的服务请求API调度器,请求该监测点需要执行的任务列表(并放入监测点任务执行队列等待JobWorker执行);
5.监测点上的服务(JobWorker)从任务队列中取得任务,访问任务设定的目标API;
6.监测点上的服务(JobWorker)获取API结果数据,并进行如下处理:
6-1.生成历史快照临时文件,
6-2.将采集结果数据进行处理后上报到API调度器;
7.API调度器接收监测点上的服务(JobWorker)上报过来的数据,并进行如下处理:
7-1.进行数据统计(小时统计、天统计等)通过Cobar入库,
7-2.产生告警消息并发送到告警信息接收服务(alert_interface),
7-3.判断是否上传历史快照,如满足快照上传逻辑,则将该任务快照记录信息插入DB,
7-4.统计任务故障信息并写入DB;
8.监测点上的服务从API调度器获取需要上传历史快照的任务列表,并将该任务的历史快照文件上传到七牛;
9.用户通过SaaS来审查任务的统计数据和历史快照等信息。
图7示出了应用例中的数据处理流程,包括:
通过分布式监测点监控HTTP/HTTPS协议的目标API。
API监控可以采用Apache HttpClient第三方库提供的API进行HTTP请求,该开发库可以支持访问HTTP/HTTPS协议的目标API并可以获取各个通信环节的详细数据,可以满足产品需求。
对目标API监控数据进行分析、统计、审查,发现触发告警线的任务,及时向用户发出告警通知。
具体的数据处理流程如下:
1.调度器定时从DB扫描任务;
2.通过调度器接口获取任务数据&需要上传历史快照的任务列表;
3.1访问目标API;
3.2目标API响应结果;
4.生成历史快照临时文件;
5.在“监测点”执行完任务后,将任务的结果进行初步处理后上报给“调度器”;
6.“调度器”在接收到数据后,进行如下处理:
6-1.进行数据统计(小时统计、天统计等)通过Cobar入库;
6-2.产生告警消息并发送到告警信息接收服务(alert_interface);
6-3.判断是否上传历史快照,如满足快照上传逻辑,则将该任务快照记录信息插入DB;
6-4.统计任务故障信息并写入DB;
7.调度器将数据进行分析、统计后写入DB,包括:小时统计、天统计、历史快照记录、任务故障统计;
8.历史快照上传七牛。
使用时,用户可以在任务中设定的某个目标API,形成API请求;用户可以在任务中设定的目标API集合,按照调用顺序从前到后称为一个API事务;用户可以设定对于目标API响应结果相关指标的预期,API监测点程序在访问完目标API后,会针对用户设定相关指标的预期进行对比并得出断言的正确性;用户可以进行变量定义,即设置在任务设定中自定义全局变量,供任务在执行期间使用(例如手动录入);用户可以进行变量提取,即从目标API的响应结果中按照指定规则提取出期望的数据作为变量(可以作为变量定义的另一个方式);用户可以自定义告警线,即对目标API关心的指标(例如:可用性[表示目标API是否能正常响应的指标]、正确性[表示目标API的响应结果是否符合预期断言的指标]、响应时间[表示从访问目标API到目标API响应结果期间所用时长的指标]等指标)设定告警条件,当目标API对应的指标满足了用户设定告警条件时,就会触发告警,产生告警消息来提示用户;用户可以进行告警通知设置,即设定当“自定义告警线”触发告警时,产生的告警消息以何种方式发送给哪些关注此问题的人(例如:Email、短信、App推送、微信、语音等多种通知方式)。
由应用例可知,本发明简化了用户操作,且方便用户审查任务数据;支持数据按照请求和事务两个维度进行聚合展示;监测点还可以支持多维度聚合展示(例如地区、运营商);同时,调度器负责定时从DB扫描任务信息获取下个周期要执行的任务列表并存入LevelDB,后续派发给各监测点,通过将各“监测点”进行统一配置,在执行任务时采用统一的执行超时时间,当某任务在某“监测点”执行超时,会被记录下来,保证了各“监测点”可以在有效的时间内向“调度器”上报数据;另外,API监控采取由“监测点”到“调度器”主动拉取任务的方式,通过内置机制保证了各监测点的调度周期一致且准确,并保证了各监测点程序的负载平稳。保证了调度周期准确、周期调度任务数据及时上报。
综上所述,本发明的API监控的分布式实现方法和系统,能够支持监控HTTP/HTTPS协议的目标API,可以对目标API监控数据进行分析、统计、审查,发现触发告警线的任务,及时向用户发出告警通知,按照快照记录规则准确的记录历史快照,保障目标API出现的问题可追溯;还可以提供对单步API和API事务两个维度的监控能力,及时审查目标API的正确性、可用性,对于存在问题的API,实时发出告警消息通知运维人员,及时保障业务API的正常运行;除此之外,API监控-SaaS端还可以提供目标API的数据分析,丰富的数据可视化、故障快照展示等便于审查、统计的功能。
Claims (10)
1.一种API监控的分布式实现方法,其包括如下步骤:
S3、部署于预定位置的分布式监测点访问任务指定的目标API;
S4、收集目标API的相关数据;
S5、对获取到的API数据进行处理;
S6、将处理后的数据上报;
S7、对上报的数据进行处理,生成监控结果。
2.如权利要求1所述的API监控的分布式实现方法,其步骤S5中对数据进行如下处理中的任一或任几种:
S51、生成历史快照,较佳的,生成历史快照临时文件;
S52、得到任务的告警状态,较佳的,将任务的告警状态存入缓存。
3.如权利要求1所述的API监控的分布式实现方法,其步骤S6中将处理后的数据上报到API调度器。
4.如权利要求3所述的API监控的分布式实现方法,其步骤S7中API调度器接收监测点上报的数据,并对上报的数据进行处理。
5.如权利要求1所述的API监控的分布式实现方法,其步骤S7中对数据进行的处理包括下列处理中的任一或任几种:
S71、进行数据统计;
S72、产生告警消息;
S73、判断是否上传历史快照;
S74、统计任务故障信息。
6.如权利要求5所述的API监控的分布式实现方法,其中:
S71、进行数据统计并录入数据库;
S72、产生告警消息并发送到告警信息接收服务;
S73、判断是否上传历史快照,如判断结果为是,则将该任务历史快照记录信息插入任务基础数据库DB;
S74、统计任务故障信息并写入任务基础数据库DB。
7.如权利要求1所述的API监控的分布式实现方法,其步骤S3之前还包括下列步骤中的任一或任几:
S2、部署于预定位置的分布式监测点向API调度器请求需要执行的任务列表,较佳的,将任务列表放入监测点任务执行队列等待执行;
S1、API调度器从任务基础数据库取任务,较佳的,将取得的任务放入缓存;
S0、生成任务基础数据库,较佳的,任务基础数据库中包括API任务数据,更进一步的,API任务数据来自SaaS。
8.如权利要求1所述的API监控的分布式实现方法,其步骤S7之后还包括下列步骤中的任一或任几:
S8、监测点上的服务从API调度器获取需要上传历史快照的任务列表;
S9、根据监测点上的服务从API调度器取得的需要上传历史快照的任务列表,将该任务的历史快照文件上传至预定位置。
9.如权利要求1至8中任一项所述的API监控的分布式实现方法,其任务基础数据库是MySQL数据库。
10.一种API监控的分布式实现系统,其依据权利要求1至8中任一项所述的API监控的分布式实现方法实现API监控的分布式实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424113.6A CN113010372A (zh) | 2020-12-08 | 2020-12-08 | 一种api监控的分布式实现方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011424113.6A CN113010372A (zh) | 2020-12-08 | 2020-12-08 | 一种api监控的分布式实现方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113010372A true CN113010372A (zh) | 2021-06-22 |
Family
ID=76383205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011424113.6A Pending CN113010372A (zh) | 2020-12-08 | 2020-12-08 | 一种api监控的分布式实现方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010372A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326068A (zh) * | 2016-08-17 | 2017-01-11 | 东软集团股份有限公司 | 资源指标的监控方法及装置 |
CN106528372A (zh) * | 2016-10-26 | 2017-03-22 | 珠海许继芝电网自动化有限公司 | 一种程序运行监视系统和方法 |
CN107766207A (zh) * | 2017-10-20 | 2018-03-06 | 中国人民财产保险股份有限公司 | 分布式自动监控方法、系统、计算机可读存储介质及终端设备 |
CN107888452A (zh) * | 2017-11-24 | 2018-04-06 | 成都知道创宇信息技术有限公司 | 一种24小时分布式网站性能监测和实时告警方法 |
CN108932184A (zh) * | 2018-06-21 | 2018-12-04 | 新华三云计算技术有限公司 | 监控装置及方法 |
CN109814992A (zh) * | 2018-12-29 | 2019-05-28 | 中国科学院计算技术研究所 | 用于大规模网络数据采集的分布式动态调度方法和系统 |
WO2020233012A1 (zh) * | 2019-05-20 | 2020-11-26 | 平安科技(深圳)有限公司 | 分布式的智能api异步回调方法、装置、客户端、服务端及存储介质 |
-
2020
- 2020-12-08 CN CN202011424113.6A patent/CN113010372A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106326068A (zh) * | 2016-08-17 | 2017-01-11 | 东软集团股份有限公司 | 资源指标的监控方法及装置 |
CN106528372A (zh) * | 2016-10-26 | 2017-03-22 | 珠海许继芝电网自动化有限公司 | 一种程序运行监视系统和方法 |
CN107766207A (zh) * | 2017-10-20 | 2018-03-06 | 中国人民财产保险股份有限公司 | 分布式自动监控方法、系统、计算机可读存储介质及终端设备 |
CN107888452A (zh) * | 2017-11-24 | 2018-04-06 | 成都知道创宇信息技术有限公司 | 一种24小时分布式网站性能监测和实时告警方法 |
CN108932184A (zh) * | 2018-06-21 | 2018-12-04 | 新华三云计算技术有限公司 | 监控装置及方法 |
CN109814992A (zh) * | 2018-12-29 | 2019-05-28 | 中国科学院计算技术研究所 | 用于大规模网络数据采集的分布式动态调度方法和系统 |
WO2020233012A1 (zh) * | 2019-05-20 | 2020-11-26 | 平安科技(深圳)有限公司 | 分布式的智能api异步回调方法、装置、客户端、服务端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111294217B (zh) | 告警分析方法、装置、系统及存储介质 | |
CN109947746A (zh) | 一种基于etl流程的数据质量管控方法和系统 | |
CN110428127B (zh) | 自动化分析方法、用户设备、存储介质及装置 | |
CN111339175B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN110928930B (zh) | 一种软件开发行为监控系统 | |
CN113746703B (zh) | 一种异常链路监控方法、系统和装置 | |
CN112306700A (zh) | 一种异常rpc请求的诊断方法和装置 | |
CN113190415A (zh) | 互联网医院系统监控方法、设备、存储介质及程序产品 | |
CN114095333A (zh) | 一种网络排障方法、装置、设备及可读存储介质 | |
CN112445583A (zh) | 任务管理方法、任务管理系统、电子设备、存储介质 | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
CN103986607A (zh) | 一种智能数据中心语音声光报警监控系统 | |
CN113641567B (zh) | 一种数据库巡检方法、装置、电子设备及存储介质 | |
CN115034512A (zh) | 一种流程优化方法、系统、设备及计算机可读存储介质 | |
CN115964272A (zh) | 交易数据自动化测试方法、装置、设备及可读存储介质 | |
CN112631879A (zh) | 数据采集方法、装置、计算机可读介质及电子设备 | |
CN113010372A (zh) | 一种api监控的分布式实现方法和系统 | |
CN115129491B (zh) | 微服务请求消息跟踪方法、生成方法、装置、介质及设备 | |
CN114387123B (zh) | 数据采集管理方法 | |
CN115277355A (zh) | 一种监控系统状态码数据的处理方法、装置、设备及介质 | |
CN115563423A (zh) | 数据采集方法、装置、计算机设备及存储介质 | |
CN113434366A (zh) | 一种事件处理方法和系统 | |
CN114928603A (zh) | 客户端软件的升级方法、装置、电子设备和介质 | |
CN114020565A (zh) | 日志智能采集处理方法、装置、电子设备及存储介质 | |
CN112882891A (zh) | 一种客户端Web访问链路监控的方法 |
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 |