CN115333917A - 一种cdn异常检测方法及装置 - Google Patents

一种cdn异常检测方法及装置 Download PDF

Info

Publication number
CN115333917A
CN115333917A CN202110455780.9A CN202110455780A CN115333917A CN 115333917 A CN115333917 A CN 115333917A CN 202110455780 A CN202110455780 A CN 202110455780A CN 115333917 A CN115333917 A CN 115333917A
Authority
CN
China
Prior art keywords
cdn
data
detection
node
alarm
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
Application number
CN202110455780.9A
Other languages
English (en)
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110455780.9A priority Critical patent/CN115333917A/zh
Publication of CN115333917A publication Critical patent/CN115333917A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种CDN异常检测方法及装置,涉及互联网技术领域。该方法包括:获取内容分发网络CDN的检测数据,检测数据包括节点维度的业务数据和/或域名维度的业务数据;基于检测数据,确定CDN是否存在异常。该方法通过节点维度和域名维度两个层面对CDN进行异常检测,可提高CDN异常检测的准确性。

Description

一种CDN异常检测方法及装置
技术领域
本申请涉及通讯技术领域,尤其涉及一种CDN异常检测方法及装置。
背景技术
近年来随着互联网业务的发展,短视频行业快速兴起,网络客户端群体和数据传输量也随之大规模增加。为了减少因客户端群体以及海量数据的传输带来的网络压力,内容分发网络(content delivery network,CDN)应运而生。CDN服务通过部署边缘节点服务器和中心节点服务器的方式,提高了客户端访问速度、消除了不同运营商之间网络通信慢的瓶颈、实现了跨运营商的网络加速、大大减少了地区客户端直接访问网络源站的压力。
然而,CDN进行服务的同时,也带来了自身特性的新问题;例如,节点流量过高、节点请求数过高、节点请求命中率过低、节点状态码(hyperText transfer protocol 10xx,HTTP 10xx) 过高、节点中央处理器(central processing unit,CPU)使用率过高、节点重传率过高、回源异常、客户端http_10xx错误率过高以及客户端请求时延过高等异常问题。针对海量的CDN数据,如何对其进行异常分析,加快异常响应速度,提高异常解决效率,保障CDN服务正常、稳定运行,是目前整个CDN服务急需要解决的问题。
针对目前CDN带来的新特性问题,现有技术通过全局负载均衡(global serverload balance, GSLB),对CDN数据进行异常检测告警。在该方案中,进行异常检测时,需要GSLB服务器向各个节点发出探测消息;然后,各个节点根据各自获取的数据和预置的检测规则判断是否异常,并回传判断信息给GSLB。该方案需要对CDN中各个节点预先配置检测规则,而 CDN中有上万个边缘节点,每个节点的作用也不同,同时,每个节点都会接收多个客户端的不同访问请求,导致每个节点上检测指标和检测阈值也不相同,所以需要对每个节点配置不同的检测规则。当访问客户端变化或者节点状态变化时,需要在各个节点上更新检测规则。然而,由于各个节点的客户端访问请求的变化频繁,对节点频繁更新检测规则,存在极大的风险。而且,该方法没有实现对CDN多维度的数据进行检测,覆盖的检测指标范围较少,检测的准确度较低。
发明内容
本申请实施例提供了一种CDN异常检测方法及装置,通过CDN节点上传数据到数据库中,然后根据用户创建的告警策略对数据库中的数据进行多个维度的异常检测,从而实现对CDN的异常检测和告警,解决现有技术在节点上更新检测规则存在风险,以及准确性低的问题。
第一方面,本申请实施例提供了一种CDN异常检测方法,该方法包括:获取内容分发网络CDN的检测数据,检测数据包括节点维度的业务数据和/或域名维度的业务数据;基于检测数据,确定CDN是否存在异常。
本申请实施例中,从节点维度的和域名维度两个角度的业务数据进行异常检测,可以准确地发现CDN在为客户端进行服务的异常数据,从而及时的发现CDN存在异常。
在一种可能的实施方式中,获取节点维度的业务数据和/或域名维度的业务数据包括:获取CDN的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;基于各个节点上传的业务数据中相同域名的业务数据,获得域名维度的业务数据;基于各个节点上传的业务数据中相同节点的业务数据,获得节点维度的业务数据。
在一种可能的实施方式中,在获取检测数据之前,方法还包括:获取用户自定义的告警策略;告警策略包括以下至少一项:检测周期和告警规则。
本申请实施例中,告警规则由用户自定义获得,不需要在节点上进行规则的更新,减少了对节点操作的风险,提高了CDN的稳定性。
在一种可能的实施方式中,当告警规则为阈值告警规则时,基于检测数据,确定CDN是否存在异常包括:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和阈值告警规则,确定CDN在当前检测周期存在异常。
在一种可能的实施方式中,当告警规则为变化率告警规则时;基于检测数据,确定CDN 是否存在异常包括:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和上一个检测周期的平均值,获得检测数据在当前检测周期的变化率;基于当前检测周期的变化率和变化率告警规则,确定CDN在当前检测周期存在异常。
本申请实施例中,将阈值和/或变化率检测方法和检测周期相结合,可以适应CDN数据瞬时多变的情况,可以及时发现异常数据,提高检测的准确性。
在一种可能的实施方式中,告警策略还包括:过滤条件;在基于检测数据,确定CDN存在异常之前,方法还包括:基于过滤条件,对检测数据进行过滤。
本申请实施例中,对检测数据设置过滤条件,过滤到一些特殊情况下的数据,比如:对流量小和访问需求量高的源站对应的数据进行过滤,可以提高异常检测的准确性。
在一种可能的实施方式中,方法还包括:当CDN存在异常时,生成CDN的异常告警信息并发送给用户。
在一种可能的实施方式中,告警策略还包括:告警抑制时段,生成CDN的异常告警信息并发送给用户包括:当前检测周期介于告警抑制时段时,按照预设告警信息数量生成CDN在当前检测周期的异常告警信息并发送给用户。
本申请实施例中,设置告警抑制时段,可减小告警信息对用户的干扰。
在一种可能的实施方式中,检测数据还包括CDN中各个节点的***数据和带宽使用比率数据。
第二方面,本申请实施还提供一种CDN异常检测装置,该装置包括:数据模块,用于获取内容分发网络CDN的检测数据,检测数据包括节点维度的业务数据和/或域名维度的业务数据;检测模块,用于基于检测数据,确定CDN是否存在异常。
在一种可能的实施方式中,数据模块具体用于:获取CDN的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;基于各个节点上传的业务数据中相同域名的业务数据,获得域名维度的业务数据;基于各个节点上传的业务数据中相同节点的业务数据,获得节点维度的业务数据。
在一种可能的实施方式中,设备还包括:
策略模块,用于获取用户自定义的告警策略;告警策略包括以下至少一项:检测周期和告警规则。
在一种可能的实施方式中,当告警规则为阈值告警规则时,检测模块具体用于:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和阈值告警规则,确定CDN在当前检测周期存在异常。
在一种可能的实施方式中,当告警规则为变化率告警规则时;检测模块具体用于:计算检测数据在当前检测周期的平均值;根据当前检测周期的平均值和上一个检测周期的平均值,获得检测数据在当前检测周期的变化率;基于当前检测周期的变化率和变化率告警规则,确定CDN在当前检测周期存在异常。
在一种可能的实施方式中,告警策略还包括:过滤条件;在基于检测数据,确定CDN存在异常之前,方法还包括:基于过滤条件,对检测数据进行过滤。
在一种可能的实施方式中,设备还包括:告警模块,用于当CDN存在异常时,生成CDN 的异常告警信息并发送给用户。
在一种可能的实施方式中,告警策略还包括:告警抑制时段,告警模块具体用于:当当前检测周期介于告警抑制时段时,按照预设告警信息数量生成CDN在当前检测周期的异常告警信息并发送给用户。
在一种可能的实施方式中,检测数据还包括CDN中各个节点的***数据和带宽使用比率数据。
第三方面,本申请实施例还提供一种计算设备,该计算设备包括存储器和处理器,存储器存储有计算机指令,处理器执行计算机指令时,实现上述第一方面中任一项实施方式中的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当计算机程序代码被执行时,实现上述第一方面中任一项实施方式中的方法。
第五方面,本申请实施例还提供一种计算机程序产品,当计算机程序产品在计算设备上运行时,使得计算设备执行上述第一方面中任一项实施方式中的方法。
附图说明
图1是本申请提供的一种内容分发网络CDN的结构示意图;
图2是本申请提供的CDN向客户端发送访问内容的流程图;
图3是本申请提供的一种通过GSLB进行CDN异常检测的方法示意图;
图4是本申请提供的一种节点依据检测规则获得检测结果的方法流程图;
图5是本申请实施例提供的一种CDN异常检测装置的结构示意图;
图6是本申请实施例提供的一种告警策略的创建界面示意图;
图7是本申请实施例提供的节点上传数据到数据库的流程图;
图8是本申请实施例提供的一种电子设备的策略创建界面示意图;
图9是本申请实施例提供的一种CDN异常检测方法的流程图;
图10a是本申请实施例提供的一种阈值检测方法流程图;
图10b是本申请实施例提供的一种变化率检测方法流程图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本申请实施例中的技术方案进行描述。
在本申请实施例的描述中,“示例性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B这三种情况。另外,除非另有说明,术语“多个”的含义是指两个或两个以上。例如,多个***是指两个或两个以上的***,多个屏幕终端是指两个或两个以上的屏幕终端。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解本申请实施例中的方案,下面对本申请实施例中出现的超文本传输协议 (hyper text transfer protocol,HTTP)、CPU、GSLB、OpenTSDB、MySQL和CDN等概念进行解释说明。
HTTP,是一个常用的请求-响应协议,它通常运行在传输控制协议(transmissioncontrol protocol,TCP)之上,在具体的客户端访问服务器的场景中,它指定了客户端的访问请求及其对应的访问内容响应之间的对应关系。其中,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
CPU,计算机***的运算和控制核心,是信息处理、程序运行的最终执行单元。
OpenTSDB是一个时间序列数据库。它支持秒级数据采集,支持永久存储,可以做容量规划,并很容易地接入到现有的报警***里。OpenTSDB可以从大规模的集群(包括集群中的网络设备、操作***、应用程序)中获取相应的指标的数据并进行存储、索引以及服务,从而使得这些数据更容易让人理解,如web化,图形化等。
MySQL是一种关系型数据库管理***,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了数据的读取速度,以及提高了读取的灵活性。
GSLB,用于在整个网络范围内将客户端的访问请求定向到最近的节点。它基于DNS实现、基于重定向实现和基于路由协议实现。GSLB能通过判断节点服务器的负载,包括CPU占用、带宽占用等数据,确定节点服务器的可用性,还可以能判断客户端(访问者)与服务器间的链路状况,选择链路状况最好的服务器。因此GSLB是对服务器和链路进行综合判断来决定由哪个地点的节点服务器来提供服务,实现异地服务器群服务质量的保证。
CDN,是构建在现有网络基础之上的智能虚拟网络,如图1所示CDN的拓扑示意图,CDN包括位于中心的源站服务器、在部分区域布置的中心节点服务器以及部署末端且面向CDN客户端的边缘节点服务器。其中,中心节点可以与源站和边缘节点传输数据,且源站、中心节点和边缘节点的个数不定。CDN依靠部署在各地的边缘节点服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使客户端可以就近获取所需的访问内容,可降低网络的拥塞,提高客户端的访问质量。可以理解的,图1仅是本申请提供的一种CDN的结构示意,并不对CDN的具体结构做强限定;在一些场景中,CDN可以根据实际的需要,可以是更加复杂的网络结构。具体地,CDN客户端访问网络的相关内容的具体过程可以是如图2所示的方法步骤。参照图2,首先,客户端访问边缘节点,边缘节点接收客户端的访问请求,边缘节点判断是否缓存有客户端想要的访问内容,如果有,则直接返回该访问内容给客户端,否则,边缘节点向中心节点获取该访问内容;然后,中心节点判断是否缓存有该访问内容,如果有,则将该访问内容返回给边缘节点,边缘节点进行内容缓存并发送给客户端;如果中心节点也没有缓存该访问内容,则进一步向源站获取该访问内容;接着,源站将该访问内容返回给中心节点,中心节点缓存该内容并将一份数据返回给边缘节点,边缘节点缓存并返回内容给客户端。其中,一个源站对应的一个域名。
现有技术采用GSLB服务器对CDN进行异常检测的方法如图3所示,大致可分为如下步骤S301~步骤S303。
在步骤S301中,GSLB服务器向CDN中的一个节点发送异常检测消息。该节点可以是图1中的中心节点或边缘节点。
在步骤S302中,节点接收到异常检测消息之后,按照预先设定的检测规则,获得数据并进行判断,得到检测结果,将检测结果反馈给GSLB服务器。下面以检测节点的状态是否异常为例,解释次步骤。
可选地,节点接收到检测消息后,获取该节点的一个或多个状态变化信息,并确定该节点的状态变化数量信息。将状态变化数量信息代入设定的检测规则中,得到当前的检测结果。其中,检测规则可以是阈值类的检测规则,即判断状态变化数量信息是否超过设定的阈值,若超过阈值,则确定该节点的状态为异常状态。
在步骤S303中,GSLB接收节点反馈的检测结果,确定该节点出现异常时,将异常消息发送给故障接收模块,并向下一个节点发送异常检测消息,直至所有节点检测完毕。
为了解决现有技术在CDN的节点上更新检测规则存在风险的问题,本申请提供一种CDN 异常检测装置。该检测装置100用于从策略库中,获得用户创建的告警策略,然后根据告警策略从数据库中获得CDN的检测数据,并根据检测数据进行检测,从而确定CDN是否存在异常。
当检测装置100为软件装置时,如图5所示,该检测装置100包括:策略模块101、数据模块102和检测模块103。应理解,图5只是示例性地展示了检测装置100的一种结构化示意图,本申请并不限定对检测装置100中模块的划分。下面介绍检测装置100各模块的功能。
策略模块101用于从策略库中读取CDN的告警策略,该告警策略可由CDN的用户创建,即CDN的运维人员创建。
在本申请的实施例中,告警策略可以包括:检测指标、检测时段(包括检测开始时间和检测结束时间)、检测周期、告警抑制时段和告警总规则(包括告警规则和过滤条件)。
数据模块102用于从数据库中获取告警策略中的检测指标在检测时段内的检测数据。
在本申请的实施例中,数据模块102在检测时段内,按照告警策略中的检测周期,周期性从数据库中获取检测指标的一个周期的检测数据。数据库中各检测指标的检测数据根据 CDN中各个节点上传的数据监测报告获得,其中,数据监测报告中包括了检测指标在一定时段的检测数据、或者可以计算检测指标的相关数据。CDN中的节点需被配置成实时上传数据监测报告。
本申请实施例中,数据库中检测指标包括分为:节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点***指标和节点水位指标。
其中,节点维度的业务指标能够直接反映CDN节点的服务状况;域名维度的业务指标能够直接反应客户源站的服务情况;节点域名维度的业务指标能够快速分析域名在节点上的服务情况,在出现异常时,能够及时将访问该节点的访问请求调度到备用节点。示例性的,业务指标均可以包括:带宽、每秒请求数、http10xx状态码、请求命中率、请求成功率、平均下载时间、平均下载速度、回源带宽、回源10xx状态码等100多个指标。
节点***指标能够直接反映节点自身的物理状态;节点***指标可以包括:CPU使用率、 CPU***进程使用率、CPU硬中断时间占比、内存使用率、网卡出入流量、网卡出入包数、***重传率、主被动打开的tcp连接数等50多个节点自身的物理指标。节点水位指标能够直接反应CDN节点的水位情况,当CDN节点水位值过高时,能够及时将部分请求调离该节点。节点水位指标可以根据实时带宽和设计带宽计算获得,即水位值=实时带宽/设计带宽,可以理解的,节点的水位值也就是节点的带宽使用比率。其中,设计带宽是在最开始建设节点时,根据节点自身的物理大小设定的节点的最大带宽。
可以理解的,数据库中存储的是各种指标的检测数据。与上述列出的检测指标对应的,数据库中存储的检测数据包括:节点域名维度的业务数据、节点维度的业务数据、域名维度的业务数据、节点***数据和和节点宽带使用比率。
示例性的,节点域名维度的业务数据可以在节点上传的数据监测报告中提取或者计算获得。其中,节点域名维度的业务数据是客户端访问CDN节点产生的一些服务数据,或者可以理解为,CDN节点为客户端提供访问内容产生的一些服务数据。根据前述CDN的介绍可以知晓,CDN节点为客户端提供的访问内容是从源站缓存的,客户端访问特定内容的访问请求包括了该访问内容的域名。因此,节点域名维度的业务数据包括了多个域名对应的业务数据。在实际场景中,可根据节点的配置情况而定。例如,节点可以被配置为直接采集多个业务指标的检测数据,或者节点可以被配置为采集计算多个业务指标的检测数据的相关数据。可选的,客户端可以是智能手机、平板电脑、智能电视、可穿戴设备和车载设备等设备中任意一种。
示例性的,节点维度的业务数据和域名维度的业务数据可以根据节点域名维度的业务数据进行统计获得。比如,可以将节点域名维度的业务数据中相同域名的业务数据相加,获得域名维度的业务数据,可以将节点域名维度的业务数据中相同节点的业务数据相加,获得节点维度的业务数据。
检测模块103用于对根据告警策略对各个检测周期内的检测数据进行异常检测,从而确定CDN是否存在异常标。可选地,在确定CDN存在异常时,可以生成告警信息,并将告警信息推送给用户。
在本申请的实施例中,检测装置100还可以包括策略构建模块104。该模块用于向用户提供如图6所示的策略创建界面600,用户可以通过触摸的方式或者按键操作的方式,在策略创建界面600示出的各个选项中选择和输入相应的内容,以组成告警策略。策略构建模块 104根据用户设置的内容,生成CDN的告警策略并传入策略库。可选地,策略库可以采用 MySQL。
如图6所示,策略创建界面600中的选项包括:告警类型、告警规则、过滤条件、检测时段、检测周期和告警抑制时段。下面结合图6,示例性的介绍策略创建界面600中不同选项的具体内容和功能。
其中,告警类型选项向用户提供可选择的检测指标;可以理解的,可供选择的指标可以包括前述的节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点***指标和节点水位指标。
告警规则选项,向用户提供创建检测指标的告警规则的功能。告警规则是判断一个指标是否需要异常的条件,告警规则可以是一个指标的阈值告警规则,也可以是一个指标的变化率告警规则。示例性的,用户可以选择内置的各个指标的告警规则,或者在界面中输入自己创建的检测指标的告警规则。
过滤条件选项,向用户提供设置各个指标的过滤条件的功能,其中,过滤条件用来判断一个指标是否需要进行异常检测。由于CDN网络中各个源站对应的访问量和流量不同,通过设置过滤条件,将访问请求多和流量小的源站对应的一些数据过滤掉,提高检测的准确性。当然,用户也可以选择不设置指标的过滤条件。
检测时段选项,向用户提供设置检测时段的功能,其中,检测时段是检测装置100进行异常检测的时间依据,用户可以在内置的时段中选择出当前告警策略的检测时段。示例性的,用户不选时,当前策略的检测时段为默认的检测时段。默认检测时段可设置为一天或者小于一天的任意时间段。
检测周期选项,向用户提供设置检测时段内的检测周期的功能,其中,检测周期用于将检测时段分为多个小的周期,对周期的数据进行异常检测可以提高检测的准确性,也满足 CDN多变化的实际情况。可选地,用户可以在内置的检测周期中选择,也可以输入自己想要的检测周期,其中,内置的检测周期可以是1分钟、5分钟和10分钟等。
告警抑制时段选项可为用户提供告警抑制的功能,当用户设置了告警抑制时段时,在时段内减少告警信息的生成量,或者减少向用户发送告警信息的数量,使得用户在该时段内接收到告警信息减少。例如,可将告警抑制时段设置为22点至7点(210小时制),在此期间,只想用户发送一个指标的一条告警信息,以减少对用户的干扰。
在本申请的实施例中,如图7所示,检测装置100还可以包括数据上报模块105、上报通道模块106和数据存储模块107。
其中,数据上报模块105用于接收CDN中各个节点上传的数据监测报告,并将其上传给上报通道模块106。可选地,具体包括:收集单元1051和采集单元1052,收集单元1051用于收集CDN节点上报的由于客户端访问产生的数据监测报告,可以包含由于客户端访问产生的业务数据;采集单元1052用于采集CDN各节点的物理的数据监测报告,可以包含节点自身的数据,如***数据和水文值。
上报通道模块106包括kafka存储和CS计算两个环节。其中,kafka用于短期存储上传的数据监测报告,即超过kafka的存储时间,这些被存储的数据监测报告将被自动抹掉。
CS通过对kafka存储的数据监测报告进行实时流计算和/或提取,从而获得前述节点维度的业务指标、域名维度的业务指标、节点域名维度的业务指标、节点***指标和节点水位指标在不同时刻的检测数据。
数据存储模块107用于将上报通道模块106获得的各个检测指标的检测数据存入数据库进行保存。可选地,数据库可以采用OpenTSDB构建。
当检测装置100为硬件设备时,检测装置100可以是服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑、智能摄相机等计算设备中的一种。图8是本申请实施例提供的一种计算设备800的结构示意图。如图8所示,该计算设备800可以包括:存储器801、处理器802、通信接口803以及总线804。其中,存储器801、处理器802、通信接口803通过总线804实现彼此之间的通信连接。
存储器801可以是只读存储器(read only memory,ROM),随机存取存储器(randomaccess memory,RAM),硬盘,快闪存储器或其任意组合。存储器801可以存储程序,当存储器801中存储的程序被处理器802执行时,处理器802和通信接口803用于执行检测装置100 实现CDN数据检测。
处理器802可以采用中央处理器(central processing unit,CPU),应用专用集成电路 (application specific integrated circuit,ASIC),GPU或其任意组合。处理器802可以包括一个或多个芯片。处理器802可以包括AI加速器,例如神经网络处理器(neuralprocessing unit, NPU)。
通信接口803使用例如收发器一类的收发模块,来实现计算设备100与其他设备或通信网络之间的通信。例如,可以通过通信接口803获取数据。
总线804可包括在检测装置100各个部件(例如,存储器801、处理器802、通信接口803)之间传送信息的通路。
当检测装置100为服务器时,可以将其分别部署在边缘环境或云环境中的装置中。边缘环境为包括距离终端计算设备较近的边缘计算设备集合的环境,边缘计算设备包括:边缘服务器、拥有计算能力的边缘小站等。每个环境中的装置分别实现上述检测装置100的部分功能。
基于本申请实施例提供的检测装置100,本申请实施例还提供一种CDN异常检测方法,该方法应用于检测装置100中。如图9所示,该方法包括:如下的步骤S901~S904。
在步骤S901中,定时读取策略库中的告警策略。
本实施例中,在检测装置100的后台设定一个定时任务,定时地从策略库中获得告警策略。当检测装置100为硬件设备时,将获得的告警策略存入缓存;若当前时刻从策略库中获得告警策略与前一时刻获得告警策略相比,存在新增、更新和/或删除操作时,将当前时刻从策略库中获得告警策略更新至缓存,否则,不更新缓存。可选地,数据库可以采用OpenTSDB 构建。
告警策略可由用户创建,告警策略可以包括前述图6所示的不同选项中的内容,即包括:检测时段、检测周期、检测指标、告警规则、过滤条件和告警抑制时段。其中,告警规则包括:阈值告警规则和变化率告警规则。具体地,一个指标对应一个规则,每个指标对应的规则类别可以不同,也可以相同。
在步骤S902中,按照检测周期,在检测时段内周期性地从数据库中获取检测指标在一个检测周期的检测数据。
本实施例中,在获取检测指标在当前检测周期的检测数据时,以当前时刻为当前检测周期的起始时刻,起始时刻减去检测周期,得到当前检测周期的结束时刻;然后,在数据库中,获得各个检测指标在起始时刻至结束时刻之间的检测数据。
在步骤S903中,利用异常检测方法对当前检测周期的检测数据进行异常检测,确定出 CDN在当前检测周期是否存在异常。
本实施例中,异常检测方法包括阈值类检测方法和变化率类检测方法,分别对不同类别的告警规则。根据前面的介绍,告警规则可以包括:阈值告警规则和变化率类告警规则两大类,具体地,可以为每个检测指标设置相同类别或不同类别的告警规则,本申请不做限定。下面结合图10a和图10b对两类检测方法进行详细说明。
示例性的,如图10a所示的告警规则是阈值告警规则的检测指标的检测流程图。在根据检测数据确定CDN是否存在异常时,先计算每个检测指标在当前检测周期的检测数据的平均值,然后将当前检测周期的检测数据的平均值分别与该检测指标的阈值告警规则中的阈值进行比较,若当前检测周期的检测数据的平均值超出了阈值,则该检测数据对应的检测指标在该周期为异常指标,且可以说明CDN网络在当前检测周期存在异常。
示例性的,如图10b所示的告警规则是变化率告警规则的检测指标的检测流程图。在根据检测数据确定CDN是否存在异常时,同样先计算每个检测指标在当前检测周期的检测数据的平均值;接着,根据当前检测周期的检测数据的平均值,计算该周期的检测数据的变化率,具体可以根据上一个周期的平均值(avg2)和当前检测周期的平均值(avg1),计算当前检测周期的变化率L,具体计算可按公式
Figure BDA0003040470190000111
进行;最后,分别将该周期的变化率与变化率告警规则中的变化率进行比较,若某一检测指标在某一周期的检测数据的变化率超过了变化率告警规则中的变化率,则该检测指标在该周期为异常指标,同样可以说明CDN网络在当前检测周期存在异常。
可选地,在求解当前检测周期的检测数据的平均值之前,可将该周期的检测数据从小到大进行排列,获得数据的总个数num,然后对num个数据进行去突刺处理,即在首尾去掉相同个数(可以是0.2*num)的数据,再将剩下的数据进行平均,即可获得一个周期的平均值。
在步骤S904中,生成CDN在当前检测周期的告警信息。
本实施例中,如果在步骤S3中确定CDN存在异常,则生成CDN的告警信息并发送给用户,用户可以根据告警信息进行CDN的维护。其中,告警信息中包括一个检测周期中存在异常的检测指标及其对应的在异常时刻的检测数据。
可选地,如果用户在告警策略中设定了告警抑制时段,则判断当前检测周期是否在告警抑制时段内。当确定当前检测周期在告警抑制时段内时,则发送当前检测周期的一个指标的一条告警信息给用户。在一个可能的实施例中,可将告警信息通过运维平台或无线消息的形式发送给CDN的用户。
基于上述检测装置100,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当计算机程序代码被执行时,实现上述方法实施例中的方法步骤。
基于上述检测装置100本申请实施例还提供一种计算机程序产品,当计算机程序产品在检测装置上运行时,使得检测装置执行上述方法实施例中的方法步骤。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing unit, CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字客户端线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。

Claims (20)

1.一种CDN异常检测方法,其特征在于,所述方法包括:
获取内容分发网络CDN的检测数据,所述检测数据包括节点维度的业务数据和/或域名维度的业务数据;
基于所述检测数据,确定所述CDN是否存在异常。
2.根据权利要求1所述的方法,其特征在于,获取所述节点维度的业务数据和/或域名维度的业务数据包括:
获取所述CDN的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;
基于各个节点上传的业务数据中相同域名的业务数据,获得所述域名维度的业务数据;
基于各个节点上传的业务数据中相同节点的业务数据,获得所述节点维度的业务数据。
3.根据权利要求1或2所述的方法,其特征在于,在获取所述检测数据之前,所述方法还包括:
获取用户自定义的告警策略;所述告警策略包括以下至少一项:检测周期和告警规则。
4.根据权利要求3所述的方法,其特征在于,当所述告警规则为阈值告警规则时,所述基于所述检测数据,确定所述CDN是否存在异常包括:
计算所述检测数据在当前检测周期的平均值;
根据所述当前检测周期的平均值和所述阈值告警规则,确定所述CDN在所述当前检测周期存在异常。
5.根据权利要求4所述的方法,其特征在于,当所述告警规则为变化率告警规则时;所述基于所述检测数据,确定所述CDN是否存在异常包括:
计算所述检测数据在当前检测周期的平均值;
根据所述当前检测周期的平均值和上一个检测周期的平均值,获得所述检测数据在所述当前检测周期的变化率;
基于所述当前检测周期的变化率和所述变化率告警规则,确定所述CDN在所述当前检测周期存在异常。
6.根据权利要求3-5任一项所述的方法,其特征在于,所述告警策略还包括:所述过滤条件;在所述基于所述检测数据,确定所述CDN存在异常之前,所述方法还包括:
基于所述过滤条件,对所述检测数据进行过滤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
当所述CDN存在异常时,生成所述CDN的异常告警信息并发送给用户。
8.根据权利要求7所述的方法,其特征在于,所述告警策略还包括:告警抑制时段,所述生成所述CDN的异常告警信息并发送给用户包括:
当所述当前检测周期介于所述告警抑制时段时,按照预设告警信息数量生成所述CDN在所述当前检测周期的异常告警信息并发送给用户。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述检测数据还包括CDN中各个节点的***数据和带宽使用比率数据。
10.一种CDN异常检测装置,其特征在于,所述装置包括:
数据模块,用于获取内容分发网络CDN的检测数据,所述检测数据包括节点维度的业务数据和/或域名维度的业务数据;
检测模块,用于基于所述检测数据,确定所述CDN是否存在异常。
11.根据权利要求10所述的装置,其特征在于,所述数据模块具体用于:
获取所述CDN的各个节点上传的业务数据;其中,一个节点的业务数据包括对多个域名进行访问的业务数据;
基于各个节点上传的业务数据中相同域名的业务数据,获得所述域名维度的业务数据;
基于各个节点上传的业务数据中相同节点的业务数据,获得所述节点维度的业务数据。
12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:
策略模块,用于获取用户自定义的告警策略;所述告警策略包括以下至少一项:检测周期和告警规则。
13.根据权利要求12所述的装置,其特征在于,当所述告警规则为阈值告警规则时,所述检测模块具体用于:
计算所述检测数据在当前检测周期的平均值;
根据所述当前检测周期的平均值和所述阈值告警规则,确定所述CDN在所述当前检测周期存在异常。
14.根据权利要求12所述的装置,其特征在于,当所述告警规则为变化率告警规则时;所述检测模块具体用于:
计算所述检测数据在当前检测周期的平均值;
根据所述当前检测周期的平均值和上一个检测周期的平均值,获得所述检测数据在所述当前检测周期的变化率;
基于所述当前检测周期的变化率和所述变化率告警规则,确定所述CDN在所述当前检测周期存在异常。
15.根据权利要求12-14任一项所述的装置,其特征在于,所述告警策略还包括:所述过滤条件;在所述基于所述检测数据,确定所述CDN存在异常之前,所述方法还包括:
基于所述过滤条件,对所述检测数据进行过滤。
16.根据权利要求10-15任一项所述的装置,其特征在于,所述装置还包括:
告警模块,用于当所述CDN存在异常时,生成所述CDN的异常告警信息并发送给用户。
17.根据权利要求16所述的装置,其特征在于,所述告警策略还包括:告警抑制时段,所述告警模块具体用于:
当所述当前检测周期介于所述告警抑制时段时,按照预设告警信息数量生成所述CDN在所述当前检测周期的异常告警信息并发送给用户。
18.根据权利要求10-17任一项所述的装置,其特征在于,所述检测数据还包括CDN中各个节点的***数据和带宽使用比率数据。
19.一种计算设备,其特征在于,所述计算设备包括存储器和处理器,所述存储器存储有计算机指令,所述处理器执行所述计算机指令时,实现权利要求1~9任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被执行时,实现上述权利要求1~9中任一项所述的方法。
CN202110455780.9A 2021-04-26 2021-04-26 一种cdn异常检测方法及装置 Pending CN115333917A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110455780.9A CN115333917A (zh) 2021-04-26 2021-04-26 一种cdn异常检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110455780.9A CN115333917A (zh) 2021-04-26 2021-04-26 一种cdn异常检测方法及装置

Publications (1)

Publication Number Publication Date
CN115333917A true CN115333917A (zh) 2022-11-11

Family

ID=83912847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110455780.9A Pending CN115333917A (zh) 2021-04-26 2021-04-26 一种cdn异常检测方法及装置

Country Status (1)

Country Link
CN (1) CN115333917A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117255005A (zh) * 2023-11-14 2023-12-19 北京火山引擎科技有限公司 一种基于cdn的业务告警处理方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117255005A (zh) * 2023-11-14 2023-12-19 北京火山引擎科技有限公司 一种基于cdn的业务告警处理方法、装置、设备及介质
CN117255005B (zh) * 2023-11-14 2024-02-02 北京火山引擎科技有限公司 一种基于cdn的业务告警处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN107835098B (zh) 一种网络故障检测方法及***
US11212208B2 (en) Adaptive metric collection, storage, and alert thresholds
EP2563062B1 (en) Long connection management apparatus and link resource management method for long connection communication
CN111600952B (zh) 场景推送方法、执行方法、装置、终端、服务器和***
CN109117275B (zh) 基于数据分片的对账方法、装置、计算机设备及存储介质
WO2017112365A1 (en) Managing communication congestion for internet of things devices
EP3395048A1 (en) Managing communication congestion for internet of things devices
CN110519183B (zh) 一种节点限速的方法、装置、电子设备及存储介质
EP3873066A1 (en) Method for managing resource state information, and resource downloading system
CN112311617A (zh) 一种配置化数据监控告警方法及***
CN111124819A (zh) 全链路监控的方法和装置
CN110224885B (zh) 设备监控的告警方法、装置、存储介质及电子设备
CN112130996A (zh) 数据监控控制***、方法、装置、电子设备和存储介质
CN107306200B (zh) 网络故障预警方法和用于网络故障预警的网关
CN111740868A (zh) 告警数据的处理方法和装置及存储介质
CN112367384A (zh) 基于Kafka集群的动态限速方法、装置以及计算机设备
CN115333917A (zh) 一种cdn异常检测方法及装置
CN105893150B (zh) 接口调用频度控制、接口调用请求处理方法及装置
CN110460486B (zh) 服务节点的监控方法及***
CN108156086B (zh) 一种策略规则下发方法及装置
CN112131198B (zh) 一种日志分析方法、装置及电子设备
CN112988504B (zh) 一种报警策略的设定方法、装置、电子设备及存储介质
US20140136647A1 (en) Router and operating method thereof
CN106686082B (zh) 存储资源调整方法及管理节点
CN104378442B (zh) 一种减少资源竞争的Trace文件转储方法

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