CN113114490B - 一种api调用异常告警方法、装置、设备及介质 - Google Patents

一种api调用异常告警方法、装置、设备及介质 Download PDF

Info

Publication number
CN113114490B
CN113114490B CN202110339970.4A CN202110339970A CN113114490B CN 113114490 B CN113114490 B CN 113114490B CN 202110339970 A CN202110339970 A CN 202110339970A CN 113114490 B CN113114490 B CN 113114490B
Authority
CN
China
Prior art keywords
alarm
call
api
information
target api
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
CN202110339970.4A
Other languages
English (en)
Other versions
CN113114490A (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.)
Hisense Group Holding Co Ltd
Original Assignee
Hisense Group Holding 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 Hisense Group Holding Co Ltd filed Critical Hisense Group Holding Co Ltd
Priority to CN202110339970.4A priority Critical patent/CN113114490B/zh
Publication of CN113114490A publication Critical patent/CN113114490A/zh
Application granted granted Critical
Publication of CN113114490B publication Critical patent/CN113114490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请实施例提供了一种API调用异常告警方法、装置、设备及介质,由于本申请中,能够基于告警策略中的告警规则以及日志文件中的API调用信息的匹配结果,确定该目标API调用是否异常,并在确定该目标API调用异常时进行告警,因此能够有效的确定目标API调用是否异常,并能实现在调用异常时进行告警,提高用户的体验。

Description

一种API调用异常告警方法、装置、设备及介质
技术领域
本申请涉及网关技术领域,尤其涉及一种应用程序接口(ApplicationProgramming,API)调用异常告警方法、装置、设备及介质。
背景技术
随着融合集成平台的快速发展,越来越多的API网关产品营运而生,然而在API接口调用的过程中,可能会出现调用异常的情况,若用户不能及时的发现调用异常,则可能会降低网关的可用性,降低用户体验感。
现有技术中,已经存在很多API网关产品,但是这些API网关产品只能够起到监控作用,不能够实时并且有效的提醒用户API调用是否异常,从而影响了用户的体验。
发明内容
本申请提供了一种API调用异常告警方法、装置、设备及介质,用以解决现有技术中的不能够实时并且有效的提醒用户网关调用是否存异常,从而影响用户的体验问题。
本申请提供了一种API调用异常告警方法,所述方法包括:
获取待判别调用是否异常的目标API;
将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
进一步地,所述进行告警包括:
根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
进一步地,所述进行告警包括:
根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
进一步地,所述获取待判别调用是否异常的目标应用程序编辑接口API包括:
若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;
确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是,则将所述候选API确定为待判别调用是否异常的目标API。
进一步地,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配之前,所述方法还包括:
判断所述告警策略是否被开启,若是,则进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
进一步地,所述方法还包括:
若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
进一步地,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的最近调用信息进行匹配包括:
若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
本申请提供了一种API调用异常告警装置,该装置包括:
获取模块,用于获取待判别调用是否异常的目标API;
处理模块,用于将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
进一步地,所述处理模块,具体用于根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
进一步地,所述处理模块,具体用于根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
进一步地,所述获取模块,具体用于若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是,则将所述候选API确定为待判别调用是否异常的目标API。
进一步地,所述装置还包括:
判断模块,用于判断所述告警策略是否被开启,若是,触发所述处理模块进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
进一步地,所述处理模块,还用于若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
进一步地,所述处理模块,具体用于若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
本申请提供了一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述任一所述API调用异常告警方法的步骤。
本申请提供了一种计算机可读存储介质,其存储有可由终端执行的计算机程序,当所述程序在所述终端上运行时,使得所述终端执行上述任一项所述API调用异常告警的步骤。
在本申请中,获取待判别调用是否异常的目标应用程序编辑接口API,将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配,若匹配成功,确定该目标API调用异常,并进行告警。由于本申请中,能够基于告警策略中的告警规则以及日志文件中的API调用信息的匹配结果,确定该目标API调用是否异常,并在确定该目标API调用异常时进行告警,因此能够有效的确定目标API调用是否异常,并能实现在调用异常时进行告警,提高用户的体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种API调用异常告警方法的过程示意图;
图2a为本申请一些实施例提供的一种邮件告警模板的示意图;
图2b为本申请一些实施例提供的一种短信告警模板的示意图;
图3为本申请一些实施例提供的一种告警策略配置的示意图;
图4为本申请一些实施例提供的一种关联API的示意图;
图5为本申请一些实施例提供的一种将告警策略开启或关闭的示意图;
图6为本申请一些实施例提供的一种目标API的调用记录查询的示意图;
图7为本申请一些实施例提供的一种API调用异常告警对应的技术框架的示意图;
图8为本申请一些实施例提供的一种API调用异常告警结构示意图;
图9为本申请一些实施例提供的一种电子设备。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员所获取的所有其他实施例,都属于本申请保护的范围。
在本申请中,获取待判别调用是否异常的目标API,将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配,若匹配成功,确定该目标API调用异常,并进行告警。由于本申请中,能够基于告警策略中的告警规则以及日志文件中的API调用信息的匹配结果,确定该目标API调用是否异常,并在确定该目标API调用异常时进行告警,因此能够有效的确定目标API调用是否异常,并能实现在调用异常时进行告警,提高用户的体验。
为了实现提醒用户网关调用时是否存在调用超时或者调用异常的情况,提高用户的体验,本申请提供了一种API调用异常告警方法、装置、设备及介质。
图1为本申请实施例提供的一种API调用异常告警方法的过程示意图,该过程包括以下步骤:
S101:获取待判别调用是否异常的目标API。
本申请实施例提供的API调用异常告警方法应用于网关服务管理端,该网关服务管理端用于判别API调用是否异常。
在调用API的过程中,可能会出现API调用异常的情况,当对某些API存在调用是否异常的查询需求时,则获取待判别调用是否异常的目标API,具体的可以获取目标API的标识信息。
S102:将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
在本申请中,针对API的每次调用,获取该API调用完成后的调用信息,其中,该调用信息包括:API名称、请求时间、请求方式、路由、调用系统、输入参数、输出参数、请求状态码,请求耗时、IP地址以及操作类型中的至少一种。在获取到API的调用信息后,将该API的调用信息记录到日志文件中,作为该API的一条调用信息。
在本申请中,预先配置了告警策略,其中,该告警策略中设置了告警规则,该告警规则可能为一条,也可能为多条。为了确定目标API的调用是否异常,在确定目标API后,确定该日志文件中记录的该目标API的调用信息,将该目标API的调用信息与目标API对应的告警策略中的告警规则进行匹配,确定匹配结果,若匹配成功,则说明该目标API调用异常,并进行告警。
如果为了对API的调用进行实时监控,可以在每个时间点都进行判断,则可以获取API的最近调用信息,将该最近调用信息与告警策略中的告警规则进行匹配,确定该API的最近调用是否异常。并根据匹配的结果,确定是否告警。当根据该条调用信息进行过匹配后,对该调用信息进行标记,以免下次再进行判断时,再采用该调用信息进行匹配从而影响告警的效率。但如果为了保证告警的准确性,也可以针对日志文件中记录的该API的全部调用信息进行匹配,只要存在任意一条与告警策略中的告警规则匹配成功的调用信息,即可告警。当然也可以预先设置进行查询的时间长度,例如当前时间之前3s内的调用信息等,在具体操作时,可以根据需求灵活变化。
为了将告警信息发送出去,在上述实施例的基础上,在本申请中,所述进行告警包括:
根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
在本申请中,在告警策略中预先保存了时间间隔,也就是说以该时间间隔进行告警,若时间间隔为5分钟,则每隔五分钟告警一次。为了将告警信息发送出去,在本申请中,告警策略中预先设置了信息接收地址的第一标识信息,在确定API调用异常后,则向该第一标识信息的信息接收地址发送告警信息。其中,该告警信息可以以邮件的方式进行发送,也可以以短信的方式进行发送。若告警信息以短信的方式进行发送,则该第一标识信息的信息接收地址为该告警策略预先设置的告警接收人所绑定的智能终端的标识信息,若告警信息以邮件的方式进行发送,则该第一标识信息的信息接收地址为该告警策略预先设置的告警接收人所绑定的邮箱的标识信息。
为了方便对告警信息进行管理,在上述各实施例的基础上,在本申请中,所述进行告警包括:
根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
在本申请中,网关服务管理端中预先保存了告警信息的模板,其中,可以根据不同的需求选择不同的模板,并且可以设置每个模板的内容,从而在进行告警信息发送时,发送该模板内容。也就是说,针对不同的API对应的模板,该告警信息的模板中包含对应的API的公用信息。由于针对不同的API调用,对应的告警信息的内容是不相同的,因此,为了方便,可以在告警策略中保存的告警信息的模板的基础上,根据需求对模板中的内容进行灵活配置,也就是在该告警信息的模板中加入目标API对应的区别信息,确定为告警策略中保存的该目标API对应的告警信息的模板内容,并以该模板内容进行告警。
此外,也可以自由编辑该目标API对应的告警信息的模板内容,并根据该模板内容进行告警。
图2a为本申请一些实施例提供的一种邮件告警模板的示意图,图2b为本申请一些实施例提供的一种短信告警模板的示意图,现针对图2a和图2b进行说明。
告警消息的内容是可以自由编辑的,采用什么方式发送告警消息也是可以自由选择的,其中,该发送告警消息的方式可以为邮件,也可以为短信,若采用邮件的方式发送告警消息,则可以参照图2a中的告警消息的模板内容发送告警信息,其中,该模板内容为:
${name}:
您好,系统【${subscribeSystem}】调用【{publishSystem}】发布的API:【{apiName}】调用时间超过预定的时间,请及时登录网站查看。
其中,该name为告警接收人的姓名,该subscribeSystem为系统对应的参数,该系统指的是进行API调用的系统对应的参数,该publishSystem为调用系统对应的参数,apiName为API的名称对应的参数。
若采用短信的方式发送告警消息,则可以参照图2b中的告警信息的模板内容发送告警消息,该模板内容为:
${name}您好,系统【${subscribeSystem}】调用系统【{publishSystem}】发布的API:【{apiName}】调用时间超过预定的时间,请及时登录网站查看。
其中,该name为告警接收人的姓名,该subscribeSystem为系统对应的参数,该系统指的是进行API调用的系统对应的参数,该publishSystem为调用系统对应的参数,apiName为API的名称对应的参数。
为了确定目标API,在上述各实施例的基础上,在本申请中,所述获取待判别调用是否异常的目标应用程序编辑接口API包括:
若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;
确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是则将所述候选API确定为待判别调用是否异常的目标API。
在本申请中,若存在API调用并在API调用完成时,可能可以对该此次的API调用是否异常进行判断,也可能不可以对此次的API调用是否异常进行判断,因此,将该完成调用的API确定为候选API。
为了确定是否能够确定该候选API的调用是否异常,也就是确定是否将该候选API确定为目标API,在本申请中,当某一API进行调用并在API调用完成后,将该API确定为候选API,确定预先保存的告警策略中是否存在该候选API的第二标识信息,也就是说,确定网关服务管理端中是否保存有与该候选API对应的告警策略,若存在与该候选API对应的告警策略,也就是确定预先保存的告警策略中存在该候选API的第二标识信息,即可以基于该告警策略确定该候选API调用是否异常,因此将该候选API确定为待判别调用是否异常的目标API。
若不存在与该候选API对应的告警策略,也就是说,预先保存的告警策略中不存在该候选API的第二标识信息,即不能找到与该候选API对应的告警策略中的告警规则,因此不将该候选API确定为目标API。
该告警策略中可能包含一条告警规则,也可能包含两条告警规则,当包含两条告警规则时,一条告警规则为调用超时告警,一条告警规则为调用失败告警。若告警策略中包含两条告警规则,为了确定该两条告警规则的判断的优先级,该告警策略中预先针对每个告警规则设置有告警级别,其中,该告警级别可以为主要告警和次要告警。
此外,该告警策略中还包含告警名称、告警发送间隔、告警发送人以及告警方式等中的至少一个。其中,可以根据需求对告警策略中包含的信息进行灵活设置,并在对告警策略中的告警规则、告警名称、告警发送间隔、告警发送人以及告警方式设置完成后,为了判别某一API的调用是否异常,将该告警策略根据需求关联对应的待判别的API,该告警策略在关联完成后,保存与该告警策略关联的API的标识信息。
图3为本申请一些实施例提供的一种告警策略配置的示意图,现针对图3进行说明。
首先新建一个告警策略,针对该告警策略中的告警名称、告警信息发送间隔、告警发送人、告警方式、以及告警规则进行设置,其中,该告警名称为接口异常告警,该告警信息发送间隔设置为5分钟,也就是说时间间隔为5分钟,该告警接收人为张三,该告警方式包括短信和邮件,具体的,若告警方式为短信,则信息接收地址的第一标志信息为张三的智能终端的标识信息,因此该告警策略的设置是为了保证每隔5分钟向张三的智能终端发送告警消息。若告警方式为邮箱,则信息接收地址的第一标志信息为张三的邮箱的标识信息,因此该告警策略的设置是为了保证每隔5分钟向张三的邮箱发送告警消息。
该告警规则包括:响应超时告警以及调用异常告警,并针对该两条告警规则设置了告警级别,其中,该调用超时告警的告警级别为主要告警,该调用失败告警的告警级别为次要告警,其中,该调用超时告警对应的时间为3秒,其中,该调用超时告警对应的时间也就是预先设定的请求耗时阈值,且每条告警规则都对应有开启和关闭功能,若该告警规则开启,则说明可以将该开启的告警规则与日志文件中记录的API的调用信息进行匹配,若该告警规则关闭,则说明不可以将该开启的告警规则与日志文件中记录的API的调用信息进行匹配。
图4为本申请一些实施例提供的一种关联API的示意图,现针对图4进行说明。
若存在关联API的需求,则接收关联API的指令,其中,该关联API的指令中携带的待关联的API的标识信息,在接收到该关联API的指令后,将该告警策略与待关联的API进行关联,并设置该待关联的API的环境和所属分组,并在API关联完成后,在显示页面上显示该被关联的API名称、环境以及所述分组,比如,在显示页面上显示该API名称为高密度接口-测试1,该环境为内网,该所属分组为网站分析。
为了准确是否能够进行告警操作,在上述各实施例的基础上,在本申请中,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配之前,所述方法还包括:
判断所述告警策略是否被开启,若是,则进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
为了确定是否能够进行告警操作,在将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配之前,也就是在确定该API调用是否异常之前,确定是否能够对该目标API进行告警,也就是确定该告警策略是否被开启,若开启,则说明能够判断目标API调用是否异常,则进行将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配的步骤,若关闭,则说明不能判断目标API调用是否异常,则不能进行将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配的步骤。
图5为本申请一些实施例提供的一种将告警策略开启或关闭的示意图,现针对图5进行说明。
针对创建完成的告警策略,该告警策略中会保存有对应的信息,比如策略名称、告警方式、创建时间、状态、操作等选项,可以在选项操作栏对创建完成的告警策略进行开启或者关闭,若该告警策略的策略名称为接口异常告警,告警方式为短信和邮箱,创建时间为2021年1月19日16点22分,操作栏中有编辑、关联API、关闭以及删除的选项,若该状态为开启,则说明该告警策略为开启,若关闭该告警策略,则接收告警策略关闭指令,将该告警策略关闭。
为了便于用户查看调用异常时的调用信息,提高用户体验,在上述各实施例的基础上,在本申请中,所述方法还包括:
若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
在本申请中,在确定该目标API调用异常后,若存在对目标API的调用记录进行查询的需求时,网关服务管理端可以接收到对该目标API的调用记录的查询请求,并在接收到该目标API的调用记录的查询请求后,可以根据该查询请求,确定待查询的目标API,由于日志文件中可能保存有多条关于该目标API的调用信息,因此可以获取该日志文件中记录的该目标API的最近调用信息,若日志文件中最近调用消息与该告警策略匹配,则说明该目标API调用异常,因此输出该最近调用信息,其中,该输出可以为文字输出,也可以为语音输出,若为文字输出,则将该目标API的最近调用信息显示在显示页面上,若为语音输出,则通过语音播放该目标API的最近调用信息。
图6为本申请一些实施例提供的一种目标API的调用记录查询的示意图,现针对图6进行说明。
若确定目标API调用异常之后,为了便于查看该调用异常的API调用记录,网关服务管理端可以接收对该目标API的调用记录的查询请求,并获取日志文件记录的该目标API的最近调用信息,若最近调用信息与所述告警策略匹配,则输出该最近调用信息,假如在显示页面上将该调用信息以文字的方式进行显示,则可以在显示页面上显示调用异常的目标API的名称、请求方式、路由,调用系统、接口系统、输入参数、输出参数、请求状态码、请求耗时、IP地址以及操作,比如,显示页面上显示的第一条调用信息为:目标API的API名称为接收优惠券信息、该请求时间为2021-1-13,18:05:25,请求方式为POST,路由为cts/app/inte…、调用系统为信小蜜、请求状态码为200,请求耗时为150,以及具体的IP地址,操作为重发,并可以在显示页面上查询输入参数和输出参数,其中,用户可以根据查询得到的输入参数和输出参数,对该输入参数和输出参数进行分析,确定该目标API调用异常的具体原因。
此外,若该目标API调用异常,为了完成该目标API的调用,网关服务管理端可以接收重发指令,在接收到该重发指令后,重新进行该目标API调用。
为了准确的确定调用异常的类型,在上述各实施例的基础上,在本申请中,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配包括:
若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近的调用记录中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API最近的调用记录中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
由于API调用异常可能为调用失败,也可能为调用超时,因此,为了准确的确定调用异常的类型,在本申请中,该告警策略中的告警规则可以为调用失败告警,也可以为调用超时告警,因此在将目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配的过程中,若该告警策略中的告警规则为调用失败告警,则说明需要确定该目标API调用是失败还是成功。为了确定该目标API调用成功还是失败,在将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配的过程中,确定该日志文件中记录的该目标API最近的调用记录中的请求状态码是否为预设的调用正常时的请求状态码,若是,则说明该目标API调用成功,若否,则说明该目标API调用失败。
若该告警策略中的告警规则为调用超时告警,则说明需要确定该目标API调用是否超时,为了确定该目标API调用是否超时,在将该目标API对应的告警策略中的告警规则与日志文件中记录的该目标API的调用信息进行匹配的过程中,确定该日志文件中记录的该目标API最近的调用记录中的请求耗时是否大于预设的请求耗时阈值,若是,则说明该目标API调用超时,若否,则说明该目标API调用未超时。
此外,由于该告警规则可以为调用失败告警,也可以为调用超时告警,也就是说该调用异常的种类可以为调用失败,也可以为调用超时,因此可以针对一种调用异常的类型,对该目标API的调用异常情况进行判断,也可以针对两种调用异常的类型,对该目标API的调用异常情况进行判断,也就是说,既可以判断该API调用是否失败,又可以判断该目标API调用是否超时,在针对两种调用异常的类型进行判断的过程中,可以在告警策略中,预先保存该告警规则的告警级别,可以将调用超时告警确定为主要告警,将调用失败告警确定为次要告警,也可以将调用失败告警确定为主要告警,将调用超时告警确定为次要告警。若将调用失败告警确定为次要告警,将调用失败告警确定为主要告警,则在确定目标API调用是否异常时,先判断API调用是否失败,然后判断API调用是否超时,在针对这两条告警规则进行告警时,确定该目标API调用是否异常并在确定该目标API调用异常时进行告警的方法如上,在此不做赘述。
图7为本申请一些实施例提供的一种API调用异常告警对应的技术框架的示意图,现针对图7进行说明。
用户首先在网关服务管理端配置告警策略,并将该配置完成的告警策略的数据保存在数据库中红,若存在API调用者调用API调用的情况,则在API调用完成后,API网关获取该API调用信息,并将该调用信息记录在日志文件中,其中,该调用信息包括:API名称、请求时间、请求方式、路由、调用系统、输入参数、输出参数、请求状态码,请求耗时、IP地址以及操作类型。
轻量型日志采集器(FileBeat)读取API Cast的日志信息,并将该日志信息分发给开源流处理平台(Kafka)以及全文搜索引擎(Elastic Search),开源流处理框架(Flink)读取Kafka的日志文件,并读取数据库中保存的配置完成的告警策略的数据,并将该配置完成的告警策略的数据以及日志文件进行匹配,若匹配成功,则说明调用异常,则确定基于多渠道发送告警信息,并触发调用信息服务。进行告警信息发送,具体的,在确定匹配结果的过程中,该配置完成的告警策略的数据中保存待判别的调用是否异常的目标API的标识信息,也就是该目标API的ID信息,根据该目标API的ID信息,查找该日志文件中该目标API的调用信息,将目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,确定是否匹配成功。
图8为本申请一些实施例提供的一种API调用异常告警结构示意图,该装置包括:
获取模块801,用于获取待判别调用是否异常的目标API;
处理模块802,用于将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
在一种可能的实施方式中,所述处理模块802,具体用于根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
在一种可能的实施方式中,所述处理模块802,具体用于根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
在一种可能的实施方式中,所述获取模块801,具体用于若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是,则将所述候选API确定为待判别调用是否异常的目标API。
在一种可能的实施方式中,所述装置还包括:
判断模块803,用于判断所述告警策略是否被开启,若是,触发所述处理模块进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
在一种可能的实施方式中,所述处理模块802,还用于若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
在一种可能的实施方式中,所述处理模块802,具体用于若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
在上述各实施例的基础上,本申请一些实施例还提供了一种电子设备,如图9所示,包括:处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信。
所述存储器903中存储有计算机程序,当所述程序被所述处理器901执行时,使得所述处理器901执行如下步骤:
获取待判别调用是否异常的目标API;
将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
进一步地,所述处理器901,还用于根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
进一步地,所述处理器901,还用于根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
进一步地,所述处理器901,还用于若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是,则将所述候选API确定为待判别调用是否异常的目标API。
进一步地,所述处理器901,还用于判断所述告警策略是否被开启,若是,则进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
进一步地,所述处理器901,还用于若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
进一步地,所述处理器901,还用于若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
上述服务器提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口902用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在上述各实施例的基础上,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
所述存储器中存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取待判别调用是否异常的目标API;
将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警。
进一步地,所述进行告警包括:
根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
进一步地,所述进行告警包括:
根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
进一步地,所述获取待判别调用是否异常的目标应用程序编辑接口API包括:
若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;
确定预先保存的告警策略中是否存在所述候选API的第二标识信息,若是,则将所述候选API确定为待判别调用是否异常的目标API。
进一步地,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配之前,所述方法还包括:
判断所述告警策略是否被开启,若是,则进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
进一步地,所述方法还包括:
若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
进一步地,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的最近调用信息进行匹配包括:
若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时。
由于本申请中,能够基于告警策略中的告警规则以及日志文件中的API调用信息的匹配结果,确定该目标API调用是否异常,并在确定该目标API调用异常时进行告警,因此能够有效的确定目标API调用是否异常,并能实现在调用异常时进行告警,提高用户的体验。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (8)

1.一种应用程序编辑接口API调用异常告警方法,其特征在于,所述方法包括:
获取待判别调用是否异常的目标API;
将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警;
其中,所述获取待判别调用是否异常的目标应用程序编辑接口API包括:
若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;
确定预先保存的告警策略中是否存在所述候选API的第二标识信息,其中所述第二标识信息用于确定所述预先保存的告警策略中是否存在该候选API对应的告警策略,若是,则将所述候选API确定为待判别调用是否异常的目标API;
其中,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配包括:
若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时;
其中,当告警策略中包含两条告警规则时,一条告警规则为调用超时告警,一条告警规则为调用失败告警,告警策略中预先针对所述两条告警规则中的每个告警规则设置有告警级别,所述告警级别为主要告警和次要告警,其中告警级别为主要告警的告警规则优先与所述目标API的调用信息进行匹配。
2.根据权利要求1所述的方法,其特征在于,所述进行告警包括:
根据所述告警策略中保存的时间间隔及信息接收地址的第一标识信息,以所述时间间隔向所述第一标识信息的信息接收地址发送告警信息。
3.根据权利要求1或2所述的方法,其特征在于,所述进行告警包括:
根据所述告警策略中保存的所述目标API对应的告警信息的模板内容,以所述模板内容进行告警。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配之前,所述方法还包括:
判断所述告警策略是否被开启,若是,则进行所述将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到对所述目标API的调用记录的查询请求,则获取所述日志文件中记录的所述目标API的最近调用信息,若所述最近调用信息与所述告警策略匹配,则输出所述最近调用信息。
6.一种API调用异常告警装置,其特征在于,所述装置包括:
获取模块,用于获取待判别调用是否异常的目标API;
处理模块,用于将所述目标API对应的告警策略中的告警规则与日志文件中记录的所述目标API的调用信息进行匹配,若匹配成功,确定所述目标API调用异常,并进行告警;
其中,所述获取模块,具体用于若存在API调用并在调用完成之后,将调用完成的所述API确定为候选API;确定预先保存的告警策略中是否存在所述候选API的第二标识信息,其中所述第二标识信息用于确定所述预先保存的告警策略中是否存在该候选API对应的告警策略,若是,则将所述候选API确定为待判别调用是否异常的目标API;
其中,所述处理模块,具体用于若所述告警规则为调用失败告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求状态码是否为预设的调用正常时的请求状态码,若否,则确定所述目标API调用失败;
若所述告警规则为调用超时告警,则确定所述日志文件中记录的所述目标API的最近调用信息中的请求耗时是否大于预设的请求耗时阈值,若是,则确定所述目标API调用超时;
其中,所述处理模块,还用于在告警策略中包含两条告警规则时,一条告警规则为调用超时告警,一条告警规则为调用失败告警,告警策略中预先针对所述两条告警规则中的每个告警规则设置有告警级别,所述告警级别为主要告警和次要告警,其中告警级别为主要告警的告警规则优先与所述目标API的调用信息进行匹配。
7.一种电子设备,其特征在于,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,其存储有可由终端执行的计算机程序,当所述程序在所述终端上运行时,使得所述终端执行权利要求1-5任一项所述方法的步骤。
CN202110339970.4A 2021-03-30 2021-03-30 一种api调用异常告警方法、装置、设备及介质 Active CN113114490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110339970.4A CN113114490B (zh) 2021-03-30 2021-03-30 一种api调用异常告警方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110339970.4A CN113114490B (zh) 2021-03-30 2021-03-30 一种api调用异常告警方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113114490A CN113114490A (zh) 2021-07-13
CN113114490B true CN113114490B (zh) 2023-10-27

Family

ID=76712683

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110339970.4A Active CN113114490B (zh) 2021-03-30 2021-03-30 一种api调用异常告警方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN113114490B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113572641B (zh) * 2021-07-21 2023-07-18 北京金山云网络技术有限公司 一种告警的方法和相关装置
CN113938473A (zh) * 2021-10-12 2022-01-14 平安银行股份有限公司 基于流量的自动Mock方法、装置、设备及存储介质
CN115038054B (zh) * 2022-01-27 2023-05-26 同方有云(北京)科技有限公司 短信和邮件的自动发送方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107172220A (zh) * 2017-07-26 2017-09-15 上海鋆创信息技术有限公司 多cdn服务的切换调度方法及设备
CN108134708A (zh) * 2016-12-01 2018-06-08 腾讯科技(深圳)有限公司 监控第三方接口的方法和装置
CN108491310A (zh) * 2018-03-26 2018-09-04 北京九章云极科技有限公司 一种日志监测方法及系统
CN109617750A (zh) * 2019-01-31 2019-04-12 国网电子商务有限公司 一种服务预警方法及网关
CN109753406A (zh) * 2018-12-05 2019-05-14 平安科技(深圳)有限公司 接口的性能监控方法、装置、设备及计算机可读存储介质
CN110275764A (zh) * 2019-05-15 2019-09-24 阿里巴巴集团控股有限公司 调用超时处理方法、装置及系统
CN110502431A (zh) * 2019-07-16 2019-11-26 阿里巴巴集团控股有限公司 系统服务评测方法、装置及电子设备
CN110830438A (zh) * 2019-09-25 2020-02-21 杭州优行科技有限公司 一种异常日志告警方法、装置及电子设备
CN111756579A (zh) * 2020-06-24 2020-10-09 北京百度网讯科技有限公司 异常预警方法、装置、设备以及存储介质
CN112287009A (zh) * 2020-11-03 2021-01-29 平安普惠企业管理有限公司 接口调用和接口数据入库方法、装置、设备及存储介质
CN112333188A (zh) * 2020-11-04 2021-02-05 成都中科大旗软件股份有限公司 数据服务接口、日志监管方法、系统、存储介质及终端

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108134708A (zh) * 2016-12-01 2018-06-08 腾讯科技(深圳)有限公司 监控第三方接口的方法和装置
CN107172220A (zh) * 2017-07-26 2017-09-15 上海鋆创信息技术有限公司 多cdn服务的切换调度方法及设备
CN108491310A (zh) * 2018-03-26 2018-09-04 北京九章云极科技有限公司 一种日志监测方法及系统
CN109753406A (zh) * 2018-12-05 2019-05-14 平安科技(深圳)有限公司 接口的性能监控方法、装置、设备及计算机可读存储介质
CN109617750A (zh) * 2019-01-31 2019-04-12 国网电子商务有限公司 一种服务预警方法及网关
CN110275764A (zh) * 2019-05-15 2019-09-24 阿里巴巴集团控股有限公司 调用超时处理方法、装置及系统
CN110502431A (zh) * 2019-07-16 2019-11-26 阿里巴巴集团控股有限公司 系统服务评测方法、装置及电子设备
CN110830438A (zh) * 2019-09-25 2020-02-21 杭州优行科技有限公司 一种异常日志告警方法、装置及电子设备
CN111756579A (zh) * 2020-06-24 2020-10-09 北京百度网讯科技有限公司 异常预警方法、装置、设备以及存储介质
CN112287009A (zh) * 2020-11-03 2021-01-29 平安普惠企业管理有限公司 接口调用和接口数据入库方法、装置、设备及存储介质
CN112333188A (zh) * 2020-11-04 2021-02-05 成都中科大旗软件股份有限公司 数据服务接口、日志监管方法、系统、存储介质及终端

Also Published As

Publication number Publication date
CN113114490A (zh) 2021-07-13

Similar Documents

Publication Publication Date Title
CN113114490B (zh) 一种api调用异常告警方法、装置、设备及介质
CN110321268B (zh) 一种告警信息处理方法及装置
CN108572907B (zh) 一种告警方法、装置、电子设备及计算机可读存储介质
CN110224858B (zh) 基于日志的告警方法及相关装置
US6021262A (en) System and method for detection of, notification of, and automated repair of problem conditions in a messaging system
CN112631913B (zh) 应用程序的运行故障监控方法、装置、设备和存储介质
CN111680068A (zh) 一种校验方法、装置、设备及存储介质
CN111385123A (zh) Web服务分布式智能监控方法、装置、计算机设备及存储介质
CN110556110A (zh) 语音处理方法及装置、智能终端、存储介质
CN109450691B (zh) 服务网关监控方法、设备及计算机可读存储介质
CN107968727A (zh) 一种cifs服务的检测方法、装置及介质
CN111949421B (zh) Sdk调用方法、装置、电子设备和计算机可读存储介质
CN113489680A (zh) 网络攻击威胁等级评估模型、评估方法、终端及介质
CN110764977B (zh) 一种实现系统安全的报警方法和装置
CN110888790B (zh) 日志管理方法及装置、电子设备、存储介质
CN112214517A (zh) 流数据处理方法及装置、电子设备、存储介质
CN112101810A (zh) 风险事件控制方法、装置及系统
CN113256256A (zh) 一种工单预警方法、装置、设备及存储介质
US20080034050A1 (en) Process Integrated Messaging
CN110750366A (zh) 消息处理方法、装置、计算机设备和存储介质
CN110866225A (zh) 风险控制方法、装置、电子设备及存储介质
CN113806196B (zh) 根因分析方法及系统
CN113542211B (zh) 一种信息处理方法及装置
CN110750418B (zh) 一种信息处理方法、电子设备和信息处理系统
CN117650977A (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