CN112422338B - 一种cdn网络的错误定位方法、装置及电子设备 - Google Patents
一种cdn网络的错误定位方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112422338B CN112422338B CN202011261235.8A CN202011261235A CN112422338B CN 112422338 B CN112422338 B CN 112422338B CN 202011261235 A CN202011261235 A CN 202011261235A CN 112422338 B CN112422338 B CN 112422338B
- Authority
- CN
- China
- Prior art keywords
- error
- cdn
- service component
- target
- log
- 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
Links
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/0677—Localisation of faults
-
- 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
- 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/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供一种CDN网络的错误定位方法、装置及电子设备,涉及云计算领域,该方法应用于CDN网络中边缘层的节点服务器,包括:收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,回源链路为CDN网络中从边缘层到客户源站的链路;各层级的所述节点服务器均包括服务组件;从错误日志中提取多项日志字段;根据多项日志字段确定CDN网络中出现错误的目标根源;其中,目标根源为回源链路上目标层级的节点服务器中的目标服务组件。本公开有利于准确地定位错误发生的根源,提高了错误定位的效率和准确性。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及一种CDN网络的错误定位方法、装置及电子设备。
背景技术
CDN(Content Delivery Network,内容分发网络)是一种构建在现有互联网基础之上的智能虚拟网络,其采用的多层级回源架构一般包括边缘层、中心层和源站。如果CDN系统比较庞大,边缘层向中心层请求内容太多,为了缓解中心层的负载压力,还会在中心层和边缘层之间部署一个中间层。
某一层级的节点出现连接错误是CDN常见的问题之一,目前的排障方式主要是落盘各层级日志,依赖人工对各层级日志逐层分析以最终确定建连失败的根源和原因。但是,由于CDN层级较多,且每个层级均部署有大量的节点,所获取到的层级信息极为分散,无法在较短时间内直接定位发生错误的层级,进而也就无法在第一时间修复故障,导致故障蔓延。
因此,需要一种快速定位报错层级的方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种CDN网络的错误定位方法、装置及电子设备。
本公开提供了一种CDN网络的错误定位方法,所述方法应用于CDN网络中边缘层的节点服务器,所述方法包括:收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,所述回源链路为所述CDN网络中从所述边缘层到客户源站的链路;各层级的所述节点服务器均包括服务组件;从所述错误日志中提取多项日志字段;根据多项所述日志字段确定所述CDN网络中出现错误的目标根源;其中,所述目标根源为所述回源链路上目标层级的节点服务器中的目标服务组件。
进一步,所述从所述错误日志中提取多项日志字段,包括:根据预设的日志字段格式,从所述错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段;其中,所述出错端字段用于表示所述CDN网络中出现错误的错误端为客户端或CDN服务端,且所述CDN服务端为所述回源链路上的各层级的节点服务器;所述主机名字段用于表示落盘所述错误日志的服务组件的名称;所述IP地址字段用于表示所述CDN服务端中出现错误的服务组件的IP地址;所述服务组件名称字段用于表示所述CDN服务端中出现错误的服务组件的名称。
进一步,所述根据多项所述日志字段确定所述CDN网络中出现错误的目标根源,包括:根据所述出错端字段确定出错端为客户端或者所述CDN服务端;当确定为所述CDN服务端时,根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件;根据所述目标服务组件对应的所述IP地址字段确定所述目标根源。
进一步,所述服务组件包括代理服务组件和存储服务组件;根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件,包括:根据所述主机名字段确定落盘所述错误日志的当前服务组件;如果所述服务组件名称字段为预设的第一字段,将所述CDN网络中所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果所述服务组件名称字段为预设的第二字段,将所述当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果所述服务组件名称字段为预设的第三字段,将所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为代理服务组件。
进一步,所述代理服务组件为Nginx,所述存储服务组件为dorado展现中间件。
进一步,所述日志字段还包括出错原因字段;所述方法还包括:根据所述出错原因字段对所述错误日志进行分类。
进一步,所述收集CDN网络中回源链路上各层级的节点服务器的错误日志,包括:收集所述CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;根据预设的日志字段格式将所述原始日志转换为结构化的错误日志。
进一步,所述方法还包括:当所述边缘层节点服务器响应用户的访问请求时,删除所述错误日志的信息头,并将删除信息头的错误日志返回给客户端。
本公开还提供了一种CDN网络的错误定位装置,所述装置应用于CDN网络中边缘层的节点服务器,所述装置包括:日志收集模块,用于收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,所述回源链路为所述CDN网络中从所述边缘层到客户源站的链路;各层级的所述节点服务器均包括服务组件;字段提取模块,用于从所述错误日志中提取多项日志字段;根源确定模块,用于根据多项所述日志字段确定所述CDN网络中出现错误的目标根源;其中,所述目标根源为所述回源链路上目标层级的节点服务器中的目标服务组件。
进一步,所述字段提取模块还用于:根据预设的日志字段格式,从所述错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段;其中,所述出错端字段用于表示所述CDN网络中出现错误的错误端为客户端或CDN服务端,且所述CDN服务端为所述回源链路上各层级的节点服务器;所述主机名字段用于表示落盘所述错误日志的服务组件的名称;所述IP地址字段用于表示所述CDN服务端中出现错误的服务组件的IP地址;所述服务组件名称字段用于表示所述CDN服务端中出现错误的服务组件的名称。
进一步,所述根源确定模块包括:出错端确定单元,用于根据所述出错端字段确定出错端为客户端或者所述CDN服务端;服务组件确定模块,用于当确定为所述CDN服务端时,根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件;目标根源确定单元,用于根据所述目标服务组件对应的所述IP地址字段确定所述目标根源。
进一步,所述服务组件包括代理服务组件和存储服务组件;所述服务组件确定单元,还用于:根据所述主机名字段确定落盘所述错误日志的当前服务组件;如果所述服务组件名称字段为预设的第一字段,将所述CDN网络中所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果所述服务组件名称字段为预设的第二字段,将所述当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果所述服务组件名称字段为预设的第三字段,将所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为代理服务组件。
进一步,所述代理服务组件为Nginx,所述存储服务组件为dorado展现中间件。
进一步,所述日志字段还包括出错原因字段;所述装置还包括:日志分类模块,用于根据所述出错原因字段对所述错误日志进行分类。
进一步,所述日志收集模块,包括:原始日志收集单元,用于收集所述CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;日志转换单元,用于根据预设的日志字段格式将所述原始日志转换为结构化的错误日志。
进一步,所述装置还包括:信息头删除模块,用于当所述边缘层的节点服务器响应用户的访问请求时,删除所述错误日志的信息头,并将删除信息头的错误日志返回给客户端。
本公开还提供了一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如上所述的方法。
本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种CDN网络的错误定位方法、装置及电子设备,该方法通过CDN网络中边缘层的节点服务器,首先收集CDN网络中回源链路上各层级的节点服务器的错误日志,回源链路为CDN网络中从边缘层到客户源站的链路,各层级的节点服务器均包括服务组件;然后从错误日志中提取多项日志字段,并根据多项日志字段确定CDN网络中出现错误的目标根源,且目标根源为回源链路上目标层级的节点服务器中的目标服务组件。上述错误定位方式,通过边缘层的节点服务器对回源链路上各层级的错误日志进行统一收集,能够有效改善因信息分散导致的错误排查效率低的问题;在此基础上,利用日志字段,能够将错误发生的目标根源准确地定位至目标层级的节点服务器中的目标服务组件,从而提高了错误定位的效率和准确性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所述CDN网络的错误定位方法流程图;
图2为本公开实施例所述CDN网络的架构图;
图3为本公开实施例所述错误日志的示例图;
图4为本公开实施例所述CDN网络的错误定位装置结构框图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,对CDN网络中出现错误的层级进行定位的方法,主要依赖人工逐层排查,该方式获取到的信息分散,错误定位的效率低,还会由此延误错误修复时间,导致故障蔓延。为缓解上述问题,本公开实施例提供的一种CDN网络的错误定位方法、装置及电子设备,可以有效提升错误定位效率。为便于对本实施例进行理解,首先对本公开实施例所提供的一种CDN网络的错误定位方法进行详细介绍。
实施例一:
本实施例提供一种CDN网络的错误定位方法,该方法适用于CDN网络中的边缘层节点服务器。CDN网络可以为三层架构,包括相连的边缘层、中心层和客户源站三层架构;还可以为四层架构,包括相连的边缘层、区域层、中心层和客户源站四层架构。边缘层、区域层和中心层均包括多个节点服务器,且各层级的节点服务器可以包括代理服务组件和存储服务组件,在实际应用中,代理服务组件比如为Nginx,存储服务组件比如为dorado展现中间件(可简称为dorado)。
参照图1所示的CDN网络的错误定位方法流程图,该方法的执行主体为边缘层的节点服务器,主要包括如下步骤:
步骤S102,收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,回源链路为CDN网络中从边缘层到客户源站的链路。回源链路可以包括边缘层节的点服务器、中心层的节点服务器和客户源站,或者包括边缘层的节点服务器、区域层的点服务器、中心层的点服务器和客户源站。
可以理解,边缘层的节点服务器作为回源链路中与客户端直接对接的终端,可以用于对回源链路上各层级节点服务器产生的错误日志进行统一收集。在实际应用中,可以将回源链路上各层级节点服务器的错误日志透传至边缘层的节点服务器,由边缘层的节点服务器统一将错误日志落盘在日志文件(如access.log)。
步骤S104,从错误日志中提取多项日志字段。
提取的日志字段诸如:出错端字段、主机名字段、IP地址字段、服务组件名称字段、出错原因字段。其中,出错端字段用于表示CDN网络中出现错误的错误端为客户端或CDN服务端,该CDN服务端为回源链路上的节点服务器;主机名字段用于表示落盘错误日志的节点服务器的服务组件的名称;IP地址字段用于表示CDN服务端中出现错误的服务组件的IP地址;服务组件名称字段用于表示CDN服务端中出现错误的服务组件的名称。
步骤S106,根据多项日志字段确定CDN网络中出现错误的目标根源;其中,目标根源为回源链路上目标层级的节点服务器中的目标服务组件。
在本实施例中,对各项日志字段表示的定义进行分析,确定CDN网络中出现错误的目标层级的节点服务器,以及该层级的节点服务器中出现错误的具体服务组件,将出现错误的服务组件确定为目标根源。
本公开实施例提供的CDN网络的错误定位方法,首先统一收集CDN网络中回源链路的错误日志,其中,错误日志可能来自回源链路上的边缘层、区域层、中心层或者客户源站,通过回源链路将上述各层级的错误日志透传至边缘层,通过边缘层的节点服务器统一收集并进行后续的错误定位,能够有效改善因信息分散导致的错误排查效率低的问题;在此基础上,利用错误日志中提取到的日志字段,能够将错误发生的目标根源准确地定位至目标层级的节点服务器中的目标服务组件,从而提高了错误定位的效率和准确性。
考虑到节点服务器产生的原始日志通常为非结构化的文本文件,为了便于日志处理,在此提供一种收集CDN网络中回源链路的错误日志的实施例,包括:首先收集CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;然后根据预设的日志字段格式将原始日志转换为结构化的错误日志。具体的,可以设置日志字段按照如下日志字段格式排列,以组成结构化的错误日志:出错端字段、主机名字段、IP地址字段、服务组件名称字段、出错原因字段。
基于结构化的错误日志,从错误日志中提取多项日志字段的方式可以为:根据预设的日志字段格式,从错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段和出错原因字段。
为了更好地理解上述日志字段,可以参照如下表1所示的日志字段格式约定表格,其展示了每个日志字段对应的输出子项、含义和备注。
表1
根据上述表1,本实施例提供一种根据多项日志字段确定CDN网络中出现错误的目标根源的过程,参照如下步骤I和II:
步骤I,根据出错端字段确定出错端为客户端或者CDN服务端。
在本实施例中,当错误日志中的出错端字段为client,表示出错端为客户端,客户端出现错误的原因比如为:客户端请求不存在的页面、客户端未提供有效的身份验证信息。当出错端为客户端时,错误日志中会出现4xx类响应状态码。
当错误日志中的出错端字段为upstream,表示出错端为CDN服务端;对此可以理解为,将边缘层、中心层和客户源站中的至少一个作为上游层。具体的,可以将客户端或者CDN网络中任一层级节点服务器作为当前设备,在当前设备连接上游层且连接失败的情况下,由当前设备生成包含出错端字段为upstream的错误日志,由此确定出现错误的出错端在上游层的节点服务器,也即出错端为CDN服务端。比如,参照图2所示的三层架构的CDN网络,当前设备以边缘层的节点服务器的Nginx为例,Nginx与上游层建连失败,建连失败的上游层包括:(a)边缘层的节点服务器内部的dorado,与之对应的是在边缘层的节点服务器内部,Nginx连接dorado失败;(b)中心层的节点服务器的Nginx,与之对应的是边缘层的节点服务器的dorado连接中心层的节点服务器的Nginx失败;(c)中心层的节点服务器内部的dorado,与之对应的是在中心层的节点服务器内部,Nginx连接dorado失败;(d)客户源站,与之对应的是中心层的节点服务器的dorado连接客户源站失败。在此情况下,出现错误的原因是当前设备与上游层建立连接失败,错误日志中会出现5xx类响应状态码。
当然,为了确定上游层中导致建连失败的具体层级的具体服务组件,还需要结合错误日志中的其它日志字段,参照如下步骤II所示。
步骤II,当确定为CDN服务端时,根据主机名字段和服务组件名称字段,确定CDN网络中出现错误的目标CDN服务端的目标服务组件。
在本实施例中,可参照如下步骤确定目标CDN服务端的目标服务组件:
第一步,根据主机名字段确定落盘错误日志的当前服务组件。
参照图3给出的如下错误日志(1)的示例:upstream|localhost.localdomin|127.0.0.1:800|kcache|upstream-error-Conne ction-refused,根据第二项的主机名字段确定落盘错误日志的当前服务组件的主机名为host.localdomin。
第二步,基于当前服务组件,确定与服务组件名称字段对应的目标CDN服务端的目标服务组件。针对服务组件名称字段,在此提供如下几种具体示例,以便于理解目标CDN服务端的目标服务组件的具体确定方式。
示例一:如果服务组件名称字段为预设的第一字段,第一字段为upstream,则将CDN网络中当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为存储服务组件(如dorado展现中间件)。
具体的,参照图3给出的如下错误日志(5)的示例:upstream|vub-offline-cacherd-1|127.0.0.1:800|upstream|error-create-from-u pstream,其第四项的服务组件名称字段为upstream。在实际应用中,当服务组件名称字段为upstream时,一般为客户源站出现错误,也即从边缘层到中间层的各层级节点服务器均服务正常,在中间层节点服务器的dorado连接客户源站(参照图2所示的(d)过程)时,由于客户源站出现错误而导致连接失败;从而,将CDN网络中的客户源站确定为出现错误的目标CDN服务端;接下来,根据目标CDN服务端对应的IP地址字段确定目标根源,本实施例中确定的目标根源为IP地址为127.0.0.1:800的客户源站。
在上述dorado连接客户源站失败的情况下,由中间层的节点服务器内的Nginx作为当前服务组件,向边缘层的节点服务器返回携带信息头x-b2f-err-reason的错误日志;当然,如果CDN网络为包含区域层的四层架构,则中间层的节点服务器内的Nginx向区域层的节点服务器返回携带信息头x-b2f-err-reason的错误日志,通过区域层的节点服务器将错误日志透传至边缘层的节点服务器。
示例二:如果服务组件名称字段为预设的第二字段,第二字段为kcache,将当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为存储服务组件(如dorado展现中间件)。
具体的,可参照图3给出的错误日志(1)和错误日志(3)的示例,在此仅以如下所示的错误日志(1)为例进行描述:upstream|localhost.localdomin|127.0.0.1:800|kcache|upstream-error-Conne ction-refused,其第四项的服务组件名称字段为kcache。根据表1的定义,kcache表示在当前层级的节点服务器内部,Nginx连接dorado出错;基于此,将当前服务组件Nginx所在的边缘层的节点服务器确定为出现错误的目标CDN服务端,并确定出现错误的目标服务组件为边缘层的节点服务器的dorado;接下来,根据目标服务组件对应的IP地址字段确定目标根源,本实施例中确定的目标根源为IP地址为127.0.0.1:800的dorado。上述错误日志(1)对应于图2中(a)所示的边缘层Nginx连接dorado出错,在此情况下,边缘层Nginx可以直接落盘错误日志,且不产生信息头x-b2f-err-reason。
示例三:如果服务组件名称字段为预设的第三字段,第三字段为cache,将当前服务组件上游层节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为代理服务组件(如Nginx)。
具体的,参照图3给出的如下错误日志(2)的示例:upstream|localhost.localdomin|10.100.51.63:80|cache|upstream-connect-pe er-fail,其第四项的服务组件名称字段为cache。根据表1的定义,cache表示dorado与上游层的节点服务器建连出错;基于此,将当前服务组件dorado的上游层的节点服务器,也即中间层的节点服务器确定为出现错误的目标CDN服务端,并确定中间层的节点服务器中出现错误的目标服务组件为Nginx;接下来,根据目标服务组件对应的IP地址字段确定目标根源,本实施例中确定的目标根源为IP地址为10.100.51.63:80的Nginx。上述错误日志对应于图2中(b)所示的边缘层dorado连接中间层Nginx出错,在此情况下,边缘层Nginx连接边缘层dorado是正常的,通过边缘层dorado将中间层的节点服务器产生的错误日志落盘至日志文件。
以上仅为三种示例性描述,在实际应用中还可以有针对四层架构的CDN网络的实施例,如表2所示:
表2
当然,无论是上述三种具体示例,还是表2和图3所示内容,均仅为示例描述,不应理解为限制。
在以上提供的根据多项日志字段确定CDN网络中出现错误的目标根源的实施例中,首先根据出错端字段判断出现错误的出错端为客户端或者CDN服务端,然后在出错端为CDN服务端的情况下,基于机名字段和服务组件名称字段判断出错层级节点服务器及其服务组件,并结合IP地址字段确定目标根源。可以看出,仅需要以上几项日志字段,即可快速、准确地确定出现错误的目标根源;再进一步结合错误日志中的出错原因字段,便能够确定目标根源出现错误的原因。
在一种实施例中,还可以根据出错原因字段对错误日志进行分类,从而能够快速准确地对CDN网络的出错原因进行分类分析,便于维护CDN网络的稳定性。
针对上述实施例中提到的信息头x-b2f-err-reason,为了避免将CDN网络出现错误的原因暴露给用户,本实施例可以提供如下方法:当边缘层的节点服务器响应用户的访问请求时,删除错误日志的信息头,并将删除信息头的错误日志返回给客户端。
由于信息头x-b2f-err-reason为内部流转头,从而,在错误日志从客户源站透传到边缘层的节点服务器的过程中,将记录信息头;然而,在边缘层的节点服务器响应客户端时,则可以删除该信息头,避免将CDN网络出现错误的原因暴露给用户,造成不必要的安全隐患。
综上,上述实施例提供的CDN网络的错误定位方法,首先通过回源链路将各层级的错误日志统一透传至边缘层,通过边缘层的节点服务器统一收集错误日志并进行后续的错误定位,能够有效改善因信息分散导致的错误排查效率低的问题;在此基础上,利用错误日志中提取到的日志字段,能够将错误发生的目标根源准确地定位至目标层级的节点服务器中的目标服务组件,从而提高了错误定位的效率和准确性。
实施例二:
对应于前述实施例提供的CDN网络的错误定位方法,本实施例提供了一种CDN网络的错误定位装置,参见图4所示的一种CDN网络的错误定位装置结构框图,该装置可以应用于边缘层节点服务器,包括:
日志收集模块402,用于收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,回源链路为CDN网络中从边缘层到客户源站的链路;各层级的节点服务器均包括服务组件;
字段提取模块404,用于从错误日志中提取多项日志字段;
根源确定模块406,用于根据多项日志字段确定CDN网络中出现错误的目标根源;其中,目标根源为回源链路上目标层级的节点服务器中的目标服务组件。
本公开实施例提供的CDN网络的错误定位装置,首先统一收集CDN网络中回源链路的错误日志,其中,错误日志可能来自回源链路上的边缘层、区域层、中心层或者客户源站,通过回源链路将上述各层级的错误日志透传至边缘层,通过边缘层的节点服务器统一收集并进行后续的错误定位,能够有效改善因信息分散导致的错误排查效率低的问题;在此基础上,利用错误日志中提取到的日志字段,能够将错误发生的目标根源准确地定位至目标层级的节点服务器中的目标服务组件,从而提高了错误定位的效率和准确性。
在一种实施例中,字段提取模块404还用于:根据预设的日志字段格式,从错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段;其中,出错端字段用于表示CDN网络中出现错误的错误端为客户端或CDN服务端,且CDN服务端为回源链路上各层级的节点服务器;主机名字段用于表示落盘错误日志的服务组件的名称;IP地址字段用于表示CDN服务端中出现错误的服务组件的IP地址;服务组件名称字段用于表示CDN服务端中出现错误的服务组件的名称。
在一种实施例中,根源确定模块406包括:出错端确定单元,用于根据出错端字段确定出错端为客户端或者CDN服务端;服务组件确定单元,用于当确定为CDN服务端时,根据主机名字段和服务组件名称字段,确定CDN网络中出现错误的目标CDN服务端的目标服务组件;目标根源确定单元,用于根据目标服务组件对应的IP地址字段确定目标根源。
在一种实施例中,服务组件包括代理服务组件和存储服务组件;服务组件确定单元,还用于:根据主机名字段确定落盘错误日志的当前服务组件;如果服务组件名称字段为预设的第一字段,将CDN网络中当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果服务组件名称字段为预设的第二字段,将当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为存储服务组件;如果服务组件名称字段为预设的第三字段,将当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定目标CDN服务端中出现错误的目标服务组件为代理服务组件。
在一种实施例中,代理服务组件为Nginx,存储服务组件为dorado展现中间件。
在一种实施例中,日志字段还包括出错原因字段;装置还包括:日志分类模块(图中未示出),用于根据出错原因字段对错误日志进行分类。
在一种实施例中,日志收集模块402,包括:原始日志收集单元,用于收集CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;日志转换单元,用于根据预设的日志字段格式将原始日志转换为结构化的错误日志。
在一种实施例中,装置还包括:信息头删除模块(图中未示出),用于当边缘层的节点服务器响应用户的访问请求时,删除错误日志的信息头,并将删除信息头的错误日志返回给客户端。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例一相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一中相应内容。
进一步,本实施例还提供了一种电子设备,其包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行如上述实施例中的CDN网络的错误定位方法。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例中的CDN网络的错误定位方法的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (16)
1.一种CDN网络的错误定位方法,其特征在于,所述方法应用于CDN网络中边缘层的节点服务器,所述方法包括:
收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,所述回源链路为所述CDN网络中从所述边缘层到客户源站的链路;各层级的所述节点服务器均包括服务组件;
从所述错误日志中提取多项日志字段;
根据多项所述日志字段确定所述CDN网络中出现错误的目标根源;其中,所述目标根源为所述回源链路上目标层级的节点服务器中的目标服务组件;
所述从所述错误日志中提取多项日志字段,包括:
根据预设的日志字段格式,从所述错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段;
其中,所述出错端字段用于表示所述CDN网络中出现错误的错误端为客户端或CDN服务端,且所述CDN服务端为所述回源链路上的各层级的节点服务器;
所述主机名字段用于表示落盘所述错误日志的服务组件的名称;
所述IP地址字段用于表示所述CDN服务端中出现错误的服务组件的IP地址;
所述服务组件名称字段用于表示所述CDN服务端中出现错误的服务组件的名称。
2.根据权利要求1所述的方法,其特征在于,所述根据多项所述日志字段确定所述CDN网络中出现错误的目标根源,包括:
根据所述出错端字段确定出错端为客户端或者所述CDN服务端;
当确定为所述CDN服务端时,根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件;
根据所述目标服务组件对应的所述IP地址字段确定所述目标根源。
3.根据权利要求2所述的方法,其特征在于,所述服务组件包括代理服务组件和存储服务组件;
根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件,包括:
根据所述主机名字段确定落盘所述错误日志的当前服务组件;
如果所述服务组件名称字段为预设的第一字段,将所述CDN网络中所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;
如果所述服务组件名称字段为预设的第二字段,将所述当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;
如果所述服务组件名称字段为预设的第三字段,将所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为代理服务组件。
4.根据权利要求3所述的方法,其特征在于,所述代理服务组件为Nginx,所述存储服务组件为dorado展现中间件。
5.根据权利要求1所述的方法,其特征在于,所述日志字段还包括出错原因字段;所述方法还包括:
根据所述出错原因字段对所述错误日志进行分类。
6.根据权利要求1所述的方法,其特征在于,所述收集CDN网络中回源链路上各层级的节点服务器的错误日志,包括:
收集所述CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;
根据预设的日志字段格式将所述原始日志转换为结构化的错误日志。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述边缘层的节点服务器响应用户的访问请求时,删除所述错误日志的信息头,并将删除信息头的错误日志返回给客户端。
8.一种CDN网络的错误定位装置,其特征在于,所述装置应用于CDN网络中边缘层的节点服务器,所述装置包括:
日志收集模块,用于收集CDN网络中回源链路上各层级的节点服务器的错误日志;其中,所述回源链路为所述CDN网络中从所述边缘层到客户源站的链路;各层级的所述节点服务器均包括服务组件;
字段提取模块,用于从所述错误日志中提取多项日志字段;
根源确定模块,用于根据多项所述日志字段确定所述CDN网络中出现错误的目标根源;其中,所述目标根源为所述回源链路上目标层级的节点服务器中的目标服务组件;
所述字段提取模块还用于:
根据预设的日志字段格式,从所述错误日志中提取至少如下日志字段:出错端字段、主机名字段、IP地址字段、服务组件名称字段;
其中,所述出错端字段用于表示所述CDN网络中出现错误的错误端为客户端或CDN服务端,且所述CDN服务端为所述回源链路上各层级的节点服务器;
所述主机名字段用于表示落盘所述错误日志的服务组件的名称;
所述IP地址字段用于表示所述CDN服务端中出现错误的服务组件的IP地址;
所述服务组件名称字段用于表示所述CDN服务端中出现错误的服务组件的名称。
9.根据权利要求8所述的装置,其特征在于,所述根源确定模块包括:
出错端确定单元,用于根据所述出错端字段确定出错端为客户端或者所述CDN服务端;
服务组件确定单元,用于当确定为所述CDN服务端时,根据所述主机名字段和所述服务组件名称字段,确定所述CDN网络中出现错误的目标CDN服务端的目标服务组件;
目标根源确定单元,用于根据所述目标服务组件对应的所述IP地址字段确定所述目标根源。
10.根据权利要求9所述的装置,其特征在于,所述服务组件包括代理服务组件和存储服务组件;
所述服务组件确定单元,还用于:
根据所述主机名字段确定落盘所述错误日志的当前服务组件;
如果所述服务组件名称字段为预设的第一字段,将所述CDN网络中所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;
如果所述服务组件名称字段为预设的第二字段,将所述当前服务组件所在的CDN服务端确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为存储服务组件;
如果所述服务组件名称字段为预设的第三字段,将所述当前服务组件上游的节点服务器或客户源站确定为出现错误的目标CDN服务端,并确定所述目标CDN服务端中出现错误的目标服务组件为代理服务组件。
11.根据权利要求10所述的装置,其特征在于,所述代理服务组件为Nginx,所述存储服务组件为dorado展现中间件。
12.根据权利要求8所述的装置,其特征在于,所述日志字段还包括出错原因字段;所述装置还包括:
日志分类模块,用于根据所述出错原因字段对所述错误日志进行分类。
13.根据权利要求8所述的装置,其特征在于,所述日志收集模块,包括:
原始日志收集单元,用于收集所述CDN网络中回源链路上各层级的节点服务器的非结构化的原始日志;
日志转换单元,用于根据预设的日志字段格式将所述原始日志转换为结构化的错误日志。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
信息头删除模块,用于当所述边缘层的节点服务器响应用户的访问请求时,删除所述错误日志的信息头,并将删除信息头的错误日志返回给客户端。
15.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至7任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至7任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261235.8A CN112422338B (zh) | 2020-11-12 | 2020-11-12 | 一种cdn网络的错误定位方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011261235.8A CN112422338B (zh) | 2020-11-12 | 2020-11-12 | 一种cdn网络的错误定位方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112422338A CN112422338A (zh) | 2021-02-26 |
CN112422338B true CN112422338B (zh) | 2022-11-08 |
Family
ID=74830807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011261235.8A Active CN112422338B (zh) | 2020-11-12 | 2020-11-12 | 一种cdn网络的错误定位方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112422338B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596079B (zh) * | 2021-06-17 | 2024-01-05 | 阿里巴巴新加坡控股有限公司 | 网络系统、回源容灾方法及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167672A (zh) * | 2018-07-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 一种回源错误定位方法、装置、存储介质以及系统 |
CN109547276A (zh) * | 2019-01-31 | 2019-03-29 | 网宿科技股份有限公司 | 一种问题定位方法、终端及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230782A (zh) * | 2016-07-20 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种基于内容分发网络的信息处理方法及装置 |
CN110213315B (zh) * | 2018-05-30 | 2022-01-07 | 腾讯科技(深圳)有限公司 | 一种路径确定方法和装置 |
-
2020
- 2020-11-12 CN CN202011261235.8A patent/CN112422338B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109167672A (zh) * | 2018-07-13 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 一种回源错误定位方法、装置、存储介质以及系统 |
CN109547276A (zh) * | 2019-01-31 | 2019-03-29 | 网宿科技股份有限公司 | 一种问题定位方法、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112422338A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502874B (zh) | 一种调用链跟踪方法 | |
US8676965B2 (en) | Tracking high-level network transactions | |
CN109800258B (zh) | 数据文件部署方法、装置、计算机设备及存储介质 | |
CN103688489A (zh) | 一种策略处理的方法及网络设备 | |
US9344465B2 (en) | Correlating computing network events | |
CN111431758A (zh) | 云网络设备的测试方法、装置、存储介质和计算机设备 | |
CN111159044B (zh) | 基于特征类型的自动化移动端rest协议模糊测试方法 | |
KR102580916B1 (ko) | 5g 분산 클라우드 시스템의 빅 데이터를 이용하여 장애를 관리하는 장치 및 방법 | |
CN112422338B (zh) | 一种cdn网络的错误定位方法、装置及电子设备 | |
CN106230602A (zh) | 数字证书的证书链的完整性检测系统及方法 | |
CN115982012A (zh) | 一种接口管理能力成熟度的评估模型及方法 | |
CN112688804A (zh) | 业务平台的部署方法、装置、设备及存储介质 | |
CN110798336A (zh) | 一种大数据平台部署服务器环境检查的方法和装置 | |
CN109858822B (zh) | 一种基于流关联分析的信息电力融合系统可靠性评估方法 | |
US9973388B2 (en) | Server information management apparatus, non-transitory computer-readable recording medium having stored therein server information management program, and server information management method | |
CN116723154A (zh) | 一种基于负载均衡的路由分发方法及系统 | |
JP2015153078A (ja) | 運用履歴分析装置及び方法及びプログラム | |
CN101159632B (zh) | 一种网络事件处理的方法 | |
CN110769076B (zh) | 一种dns测试方法和系统 | |
CN108075918B (zh) | 互联网业务变更检测方法及系统 | |
CN115186001A (zh) | 一种补丁处理方法和装置 | |
US20140359108A1 (en) | Xml based generic unix discovery framework | |
CN111143318B (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
Sekiguchi et al. | Configuration management technology using tree structures of ICT systems | |
JP6008406B2 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |