CN109167672A - 一种回源错误定位方法、装置、存储介质以及系统 - Google Patents

一种回源错误定位方法、装置、存储介质以及系统 Download PDF

Info

Publication number
CN109167672A
CN109167672A CN201810770281.7A CN201810770281A CN109167672A CN 109167672 A CN109167672 A CN 109167672A CN 201810770281 A CN201810770281 A CN 201810770281A CN 109167672 A CN109167672 A CN 109167672A
Authority
CN
China
Prior art keywords
log
source
mistake
source log
returned
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.)
Granted
Application number
CN201810770281.7A
Other languages
English (en)
Other versions
CN109167672B (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing 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 Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810770281.7A priority Critical patent/CN109167672B/zh
Publication of CN109167672A publication Critical patent/CN109167672A/zh
Application granted granted Critical
Publication of CN109167672B publication Critical patent/CN109167672B/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/0677Localisation of faults
    • 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/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种回源错误定位方法、装置、存储介质以及系统,所述方法包括:实时拉取回源日志;基于大数据框架集群对所述实时拉取的回源日志进行计算;根据所述计算的结果,过滤出错误回源日志,并将所述错误回源日志分布存储于大数据框架集群本地;收集所述错误回源日志,并将所述错误回源日志写入到分布式多用户全文搜索引擎;根据输入条件定位所述错误回源日志。

Description

一种回源错误定位方法、装置、存储介质以及系统
技术领域
本发明涉及互联网和云计算技术领域,特别涉及一种回源错误定位方法、装置、存储介质以及系统。
背景技术
回源错误是最常见的内容分发网络(CDN,Content Delivery Network)问题之一。分析回源错误也成为了网络健康度检查的重要工作之一。现有技术中有通过日志分析小工具实时下载CDN节点日志来对回源错误进行分析。包括使用grep,sed,awk等工具分析top错误码、IP、URI等情况,定位回源错误问题。然而,利用日志分析小工具存在许多不利因素,例如,需要及时下载回源日志,否则回源日志可能会被滚掉;无法追溯历史回源失败问题;需要逐层人工分析,每一层分析的结果都是碎片化的,缺少回源链路拓扑信息,由于CDN回源链路层级比较多,定位一次回源失败可能需要多次使用小工具分析不同节点上的日志,使用上非常不方便;分析结果纯文本展示,不够美观;缺少时段内汇总数据统计。
发明内容
为了解决现有技术中存在的技术问题,本发明实施例提供了一种回源错误定位方法。所述技术方案如下:
一方面,提供一种回源错误定位方法,所述方法包括:实时拉取回源日志;基于大数据框架集群对所述实时拉取的回源日志进行计算;根据所述计算的结果,过滤出错误回源日志,并将所述错误回源日志分布存储于大数据框架集群本地;收集所述错误回源日志,并将所述错误回源日志写入到分布式多用户全文搜索引擎;根据输入条件定位所述错误回源日志。
另一方面,提供一种回源错误定位装置,所述装置包括:日志事实下载模块,用于实时拉取回源日志;日志处理模块,基于大数据框架集群对所述实时拉取的回源日志进行计算;根据所述计算的结果,过滤出错误回源日志;并将所述错误回源日志分布存储于大数据框架集群本地;错误日志收集模块,用于收集所述错误回源日志;错误日志写入模块,用于将所述错误回源日志写入到分布式多用户全文搜索引擎;错误日志定位模块,用于根据输入条件定位所述错误回源日志。
另一方面,提供一种存储介质,所述存储介质中存储有指令,所述指令被执行用于实现前述所述的方法。
另一方面,提供一种系统,所述系统包含前述的装置。
本发明实施例提供的技术方案带来的有益效果包括:分布式多用户全文搜索引擎作为日志存储和分析引擎,相比传统文件方式更灵活,高效。有利于对全量CDN节点日志,海量日志进行分析,入库延迟很小,可以实现多字段索引,并且存储更加可靠。日志分析方面支持分析回源链路拓扑结构,整个回源链路上的各层级的回源错误一目了然。可以通过多维度深入挖掘top错误,找到问题根源。可以汇总分析一段时间内的全局回源失败情况,为运营通过数据支持,逐步改善回源错误情况。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的回源错误定位方法示意图;
图2是本发明实施例提供的回源错误分析结果示意图;
图3是本发明实施例提供的回源日志收集分析的流程示意图;
图4为图3所示的回源日志收集分析的流程示意图所对应的构架;
图5是本发明实施例提供的回源失败链路拓扑;
图6是对回源链路进行错误top分析结果图;
图7为对全量回源错误日志做汇总统计分析结果图;
图8为对全量回源错误日志做汇总统计分析结果图;
图9为本发明实施例提供的回源错误定位方法流程示意图;
图10为将回源节点写入到分布式消息队列示意图;
图11为从大数据框架集群收集错误回源日志,然后将错误回源日志写入到分布式多用户全文搜索引擎上的具体步骤;
图12为采用日志收集模块和日志解析模块所产生的延迟;
图13为从大数据框架集群收集错误回源日志,然后将错误回源日志写入到分布式多用户全文搜索引擎上的具体步骤;
图14为在单个进程中使用多个异步线程进行处理所产生的延迟;
图15为本发明实施例提供的一种回源错误定位装置;
图16为本发明实施例提供的实施主体结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本说明书涉及的技术术语解释如下:
内容分发网络(CDN,Content Delivery Network):架设在用户和源站之间的HTTP缓存,用于加速HTTP应用的访问。
CDN回源:用户在初次访问一个HTTP资源时,CDN上没有缓存,需要先向源站请求,这个过程称为CDN回源。
边缘节点:CDN架构中最接近用户的那一层节点。
回源链路:从CDN边缘节点到客户源站的整个链路称为回源链路,当前云服务中CDN采用多层级回源架构,在一个回源链路中可能包含多层节点,提高缓存命中率,方便收敛回源,减少回源带宽。
回源错误:在CDN回源过程中如果出现了错误,用户端访问就会失败,影响用户使用。
作为一个可选的实施例,请参考图1、图2,其示出了本说明书提供的回源错误定位方法示意图和回源错误分析结果。CDN节点首先读取“获取TOP节点失败节点”,然后下载对应的节点源日志,在获取日志文件之后,通过分析小工具获取对日志文件的分析结论,具体地,分析小工具可以包括grep,awk等。就分析获得的分析结论而言,包括TOP错误码、TOPURI、TOP IP等等。在获得分析结论之后,返回到CDN节点继续追踪TOP IP的日志。然而,在上述过程中,获取的回源日志处于不断的滚动过程中,因此需要及时下载回源日志,否则回源日志可能会被滚掉,同时,无法追溯历史回源失败问题。对于日志的分析也需要逐层人工分析,每一层分析的结果都是碎片化的,缺少回源链路拓扑信息,由于CDN回源链路层级比较多,定位一次回源失败可能需要多次使用小工具分析不同节点上的日志,使用上非常不方便。分析结果只能通过纯文本展示,缺少时段内汇总数据统计。
作为一个可选的实施例,请参考图3,其为本说明书提供的回源日志收集分析的流程示意图。
最上层的为节点为日志产生节点,可选地,可以是CDN节点,图中表示为OC节点。当然,日志产生节点也可以是其他产生回源日志的节点。
通过日志实时下载模块将回源日志从日志产生节点分布存储于本地,例如本地的磁盘,同时开放对回源日志的超文本传输协议(HTTP)下载和访问。具体地,实时下载模块采用轮询方式从日志产生节点拉取最新的回源日志,
并将回源日志写入分布式消息队列。
通用的基于内存计算的大数据框架集群,例如Spark集群,采用拉取的方式消费分布式消息队列,对回源日志进行计算。对回源日志进行的计算包括计算回源数据指标用于产品展示,还会过滤出错误日志,并落到本地磁盘。
回源日志收集可以认为是一个日志收集的代理,其从通用的基于内存计算的大数据框架集群的机器上读取落地的错误日志,并写到一个分布式多用户全文搜索引擎上,用于错误日志的查询、分析。
作为一个可选的实施例,请参考图4,图4展示了与图3中的流程相对应的构架,日志收集模块读取日志节点(日志节点0,日志节点1,…,日志节点N)的回源日志。然后日志收集模块将读取的日志写入到分布式多用户全文搜索引擎之中。由分析逻辑从分布式多用户全文搜索引擎拉取条件回源日志,并进行分析,例如获取回源拓扑。
作为一个可选的实施例,可以通过补充回源日志里记录的CDN节点IP和回源目标IP所在的平台信息,得到平台回源失败的拓扑图,即错误拓扑图。由于在获取回源日志时使用了全量的回源日志,请参考图5,整个回源链路可以完整展现出来。
如图6所示,对于每一条回源链路,进一步做错误top分析,确定问题根源。
如图7、图8所示,对每天的全量回源错误日志做汇总统计,通过持续发现每天回源失败的top域名和链路并反馈,逐步改善回源失败的情况。
在一个可选的实施例中,如图9所示,提供一种回源错误定位方法,所述方法包括如下步骤:
S901,将回源日志实时分布存储于本地。
结合图3所展示的构架可知,最上层的日志产生节点产生回源日志,日志产生节点可以是CDN节点,即图3中的OC节点。当然,日志产生节点也可以是其他产生回源日志的节点。
日志下载模块在将回源日志拉取到本地之后,开放对回源日志的超文本传输协议(HTTP)下载和访问。作为一个可选的方案,日志下载模块以轮询的方式从OC节点拉取回源日志。作为一个可选的方案,日志下载模块通过轮询的方式从OC节点拉取最新的回源日志(即实时拉取回源日志),并将回源日志写入到分布式消息队列。如图10所示,在将回源节点从OC节点拉取到本地之后,将回源节点写入到分布式消息队列。分布式消息队列的队列之间是相互分隔的,而消息在消息队列之中的排列是有序排列。因为分布式消息队列中的每个队列都具有一定的吞吐量,利用分布式消息队列可以保证对回源日志拉取过程中,整个队列具有大吞吐量。具体地,拉取的日志被写入到分隔队列1、分隔队列2、……、分隔队列N当中,队列中回源日志的排列按照FIFO的原则。而各个队列之间则是相对独立和无序的。
S902,通过大数据框架集群对回源日志进行计算。
大数据框架集群可以是通用的基于内存计算的大数据框架集群,例如Spark集群。通过基于内存计算的大数据框架集群可以迅速地对回源日志进行计算,通过计算获得回源数据指标用于产品展示,同时,还可以通过计算获得错误回源日志。
获得错误回源日志是依靠回源日志所记录的内容。下面针对大数据框架集群对回源错误记录的计算进行列举如下:
判断回源日志中是否出现非法链接错误,如果出现,那么判断由于URL链接非法导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现预设的搜索引擎的状态码,例如状态码为499,如果出现,那么判断由于未知Referer处理失效错误导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现抓取服务器的错误控制码,例如Cache-Control、Last-Modified等,如果出现,那么判断由于抓取服务器的控制策略导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现同步缓存Cookie内容,如果出现,那么判断由于缓存Cookie内容造成用户间差异导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现部分节点服务器出现异常,如果出现,那么判断由于节点服务器出现异常导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现拥塞记录,如果出现,那么判断由于数据拥塞而且未进行策略回避导致回源失败,将该回源日志统计为错误回源日志。
除上述回源失败情形外,还存在断点等问题导致的回源失败。例如,当用户在听一首歌的时候,如果听到一半,网络断掉了,用户需要继续听的时候,文件服务器不支持断点,且原URL发生重置,也会导致回源失败。
此外,源站做了集群且集群内部分源站IP不稳定导致部分回源失败;源站带宽等性能指标达到瓶颈导致回源失败。
大数据框架集群的目的和作用是通过计算将回源失败的记录信息从回源日志中抽取出来,以此形成过滤和记录机制。由于回源日志中记录的内容复杂多样,利用大数据框架集群进行提取时也会涉及到多样的内容。
当回源日志是以分布式消息队列的形式存储时,大数据框架集群对回源日志的计算过程就是一个对分布式消息队列的拉取和消费过程。
S903,过滤出错误回源日志,并将所述错误回源日志分布存储于大数据框架集群本地。
在过滤出错误的回源日志之后,会将回源日志与大数据框架集群计算得到的错误类型以数据结构的形式分布存储于大数据框架集群的本地磁盘中。由于在大数据框架下对于各个回源日志的处理在各个分布式子处理器上,因此,在过滤出错误的回源日志之后,错误的回源日志首先被落地在分布式处理器的本地。在物理层,错误的回源日志以文件的形式零散地存储在各个分布式处理器的本地。
S904,从大数据框架集群收集错误回源日志,然后将错误回源日志写入到分布式多用户全文搜索引擎上。
具体地,回源日志收集可以认为是一个日志收集的代理,其从通用的基于内存计算的大数据框架集群的机器上读取落地的错误日志,然后将读取日志写入到分布式多用户全文搜索引擎上。
S905,分布式多用户全文搜索引擎会根据输入条件查询所述错误的回源日志。
综上所述,基于上述步骤,分布式多用户全文搜索引擎作为日志存储和分析引擎,相比传统文件方式更灵活,高效。有利于对全量CDN节点日志,海量日志进行分析,入库延迟很小,可以实现多字段索引,并且存储更加可靠。日志分析方面支持分析回源链路拓扑结构,整个回源链路上的各层级的回源错误一目了然。可以通过多维度深入挖掘top错误,找到问题根源。可以汇总分析一段时间内的全局回源失败情况,为运营通过数据支持,逐步改善回源错误情况。
在一个可选的实施例中,如图11所示,步骤S904,从大数据框架集群收集错误回源日志,然后将错误回源日志写入到分布式多用户全文搜索引擎上。具体包括如下步骤:
S1101,日志收集模块,监控错误回源日志文件产生;
S1102,日志收集模块,及时读取日志行,输出到日志解析模块;
S1103,日志解析模块,接收输入的日志行;
S1104,日志解析模块,解析日志行,修改、增加字段等;
S1105,输出日志。
作为一个优选的实施例,日志收集模块作为日志收集代理,安装在日志落地的服务器上,日志解析模块采用采用集群部署,做日志解析、输出。
日志收集模块采用go语言实现,程序无特别的依赖。
然而,实际测试发现日志收集模块存在一定的局限。例如,在输出到多个日志解析模块集群的时候存在负载不均衡问题,单个日志收集模块实例只会跟日志解析模块集群中的一台机器建立连接,而且日志收集模块服务之间缺乏对后端日志解析模块集群状态的感知,导致日志解析模块集群出现负载不均衡。
日志解析模块作为日志解析处理的核心组件,可以接收来自各种输入的数据。同时,日志解析模块支持各种插件,可以对日志进行定制化的处理。日志解析模块的输出模块也支持输出到各种接收端,包括输出到分布式多用户全文搜索引擎上。但是实际测试发现日志解析模块存在比较严重的性能问题。
另外一个问题是,日志的收集和解析可以是两个关联很紧密的阶段,这里作为两个模块实现,中间增加了网络开销和日志解析模块独立部署的机器开销。
采用此方案统计的日志收集时延如下图12,可以看到时延分布大于40000秒,这样的延时分布,在每天100亿日志量级时基本不可用。
在一个可选的实施例中,如图13所示,步骤S904,从大数据框架集群收集错误回源日志,然后将错误回源日志写入到分布式多用户全文搜索引擎上。还可以包括在一个进程中建立多个线程,多个线程之间采用异步实现:
S1301,监视线程用于监控是否存在新的错误回源日志产生;
S1302,当产生新的错误回源日志,则拉取日志文件队列;
S1303,通过采集和格式化线程组,对拉取的日志文件进行采集和格式化;
S1304,采集和格式化后的文件形成分布式多用户搜索队列文件;具体地,搜索队列可以采用Elasticsearch数据队列和Redis队列。
Redis的外围由一个键、值映射的字典构成。与其他非关系型数据库主要不同在于:Redis中值的类型不仅限于字符串,还支持如下抽象数据类型:字符串列表;无序不重复的字符串集合;有序不重复的字符串集合;键、值都为字符串的哈希表;值的类型决定了值本身支持的操作。Redis支持不同无序、有序的列表,无序、有序的集合间的交集、并集等高级服务器端原子操作。
Elasticsearch是一个基于lucene构建的开源,分布式,restfull搜索引擎,能够达到实时搜索,稳定,可靠,快速,支持通过http使用json进行数据索引。Elasticsearch中master节点相对没有mysql、zookeeper、redis等对于整个集群那么重要,但是也是特别重要的。Elasticsearch的master监控集群的拓扑结构和健康状态,分发索引分片到集群节点,不同的是具体文档的索引主分片不一定在master上。
S1305,分布式多用户搜索队列文件被输入到IO线程组进行输出。具体地,采用轮询方式将分布式多用户搜索队列通过IO线程组输出到分布式多用户搜索集群。
由于上述步骤为处于同一个进程的异步线程组,其中各个线程的组件结合更紧密,减少了组件独立部署的机器和网络开销。日志采集、格式化、写分布式多用户全文搜索引擎全异步实现,组件解耦,可以分别水平扩展,性能更好。多线程收集日志,多线程输出到分布式多用户全文搜索引擎。IO线程组采用批量方式写入分布式多用户全文搜索引擎,提高写分布式多用户全文搜索引擎的写入效率。通过轮询方式写到分布式多用户全文搜索引擎分布式集群的数据节点,使分布式多用户全文搜索引擎的写入性能达到最大化。此外,通过上述步骤,日志收集时延降至秒级。
如图14所示,采用图13对应的流程,日志收集延迟基本在3秒以内。基于该过程,可以快速帮助研发和测试人员定位回源错误。通过汇总的分析,为运营侧提供数据支持,逐步改善回源错误情况,减少一线运营和维护的压力,提升云服务CDN链路质量。
在前述实施例中,可以把全量CDN日志拿过来分析,对于用户的每一次访问,可以看到整个访问链路的情况,这样会更清晰、直观,问题一目了然。但是,由于全量CDN日志比错误的部分大得多,处理这些日志对系统的要求也高很多,需要依靠分布式多用户全文搜索引擎和分布式队列的方式对回源日志进行分布式处理。
作为一个可选的实施例,如图15所示,提供一种回源错误定位装置,包括如下子模块:
日志实时下载模块,用于实时拉取回源日志。
结合图3所展示的构架可知,最上层的日志产生节点产生回源日志,日志产生节点可以是CDN节点,即图3中的OC节点。当然,日志产生节点也可以是其他产生回源日志的节点。
日志下载模块在将回源日志拉取到本地之后,开放对回源日志的超文本传输协议(HTTP)下载和访问。作为一个可选的方案,日志下载模块以轮询的方式从OC节点拉取回源日志。作为一个可选的方案,日志下载模块通过轮询的方式从OC节点拉取最新的回源日志(即实时拉取回源日志),并将回源日志写入到分布式消息队列。如图10所示,在将回源节点从OC节点拉取到本地之后,将回源节点写入到分布式消息队列。分布式消息队列的队列之间是相互分隔的,而消息在消息队列之中的排列是有序排列。因为分布式消息队列中的每个队列都具有一定的吞吐量,利用分布式消息队列可以保证对回源日志拉取过程中,整个队列具有大吞吐量。具体地,拉取的日志被写入到分隔队列1、分隔队列2、……、分隔队列N当中,队列中回源日志的排列按照FIFO的原则。而各个队列之间则是相对独立和无序的。
日志计算模块,基于大数据框架集群对所述实时拉取的回源日志进行计算。
大数据框架集群可以是通用的基于内存计算的大数据框架集群,例如Spark集群。通过基于内存计算的大数据框架集群可以迅速地对回源日志进行计算,通过计算获得回源数据指标用于产品展示,同时,还可以通过计算获得错误回源日志。
获得错误回源日志是依靠回源日志所记录的内容。下面针对大数据框架集群对回源错误记录的计算进行列举如下:
判断回源日志中是否出现非法链接错误,如果出现,那么判断由于URL链接非法导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现预设的搜索引擎的状态码,例如状态码为499,如果出现,那么判断由于未知Referer处理失效错误导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现抓取服务器的错误控制码,例如Cache-Control、Last-Modified等,如果出现,那么判断由于抓取服务器的控制策略导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现同步缓存Cookie内容,如果出现,那么判断由于缓存Cookie内容造成用户间差异导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现部分节点服务器出现异常,如果出现,那么判断由于节点服务器出现异常导致回源失败,将该回源日志统计为错误回源日志。
判断回源日志中是否出现拥塞记录,如果出现,那么判断由于数据拥塞而且未进行策略回避导致回源失败,将该回源日志统计为错误回源日志。
除上述回源失败情形外,还存在断点等问题导致的回源失败。例如,当用户在听一首歌的时候,如果听到一半,网络断掉了,用户需要继续听的时候,文件服务器不支持断点,且原URL发生重置,也会导致回源失败。
此外,源站做了集群且集群内部分源站IP不稳定导致部分回源失败;源站带宽等性能指标达到瓶颈导致回源失败。
大数据框架集群的目的和作用是通过计算将回源失败的记录信息从回源日志中抽取出来,以此形成过滤和记录机制。由于回源日志中记录的内容复杂多样,利用大数据框架集群进行提取时也会涉及到多样的内容。
当回源日志是以分布式消息队列的形式存储时,大数据框架集群对回源日志的计算过程就是一个对分布式消息队列的拉取和消费过程。
错误日志过滤模块,用于根据所述计算的结果,过滤出错误回源日志。错误日志落地模块,用于将所述错误回源日志分布存储于大数据框架集群本地。
在过滤出错误的回源日志之后,会将回源日志与大数据框架集群计算得到的错误类型以数据结构的形式分布存储于大数据框架集群的本地磁盘中。由于在大数据框架下对于各个回源日志的处理在各个分布式子处理器上,因此,在过滤出错误的回源日志之后,错误的回源日志首先被落地在分布式处理器的本地。在物理层,错误的回源日志以文件的形式零散地存储在各个分布式处理器的本地。
错误日志收集模块,用于收集所述错误回源日志。具体地,回源日志收集可以认为是一个日志收集的代理,其从通用的基于内存计算的大数据框架集群的机器上读取落地的错误日志,然后将读取日志写入到分布式多用户全文搜索引擎上。错误日志收集模块,包括:监控子模块,用于监控错误回源日志文件产生;日支行读取子模块,用于读取错误回源日志文件的日志行;发送子模块,用于发送所述读取的错误回源日志文件的日志行;
和/或,
错误日志解析模块,包括:接收子模块,用于接收日志行;解析和修改子模块,用于解析和修改所述日志行;写入子模块,用于将经过解析和修改的日志行写入到分布式多用户全文搜索引擎。
在一个可选的实施例中,错误日志收集模块,包括:
监控子模块,用于监控是否存在新的错误回源日志产生;
拉取子模块,用于当产生新的错误回源日志时,拉取日志文件队列;
采集和格式化子模块,用于对拉取得到的日志文件队列进行采集和格式化,以形成分布式多用户搜索队列文件;
写入子模块,用于将所述分布式多用户搜索队列文件写入到分布式多用户全文搜索引擎。
错误日志写入模块,用于将所述错误回源日志写入到分布式多用户全文搜索引擎。
错误日志定位模块,用于根据输入条件定位所述错误回源日志。
请参考图16,其示出了本发明一个实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的回源错误定位方法。具体来讲:
所述服务器1200包括中央处理单元(CPU)1201、包括随机存取存储器(RAM)1202和只读存储器(ROM)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。所述服务器1200还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
所述基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中所述显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。所述基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。所述大容量存储设备1207及其相关联的计算机可读介质为服务器1200提供非易失性存储。也就是说,所述大容量存储设备1207可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本发明的各种实施例,所述服务器1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1200可以通过连接在所述系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中发送方客户端或接收方客户端侧的各个步骤,或者上述指令由服务器的处理器执行以完成上述方法实施例中后台服务器侧的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种回源错误定位方法,其特征在于,所述方法包括:
实时拉取回源日志;
基于大数据框架集群对所述实时拉取的回源日志进行计算,根据所述计算的结果,过滤出错误回源日志,并将所述错误回源日志分布存储于所述大数据框架集群本地;
收集所述错误回源日志,并将所述错误回源日志写入到分布式多用户全文搜索引擎;
根据输入条件定位所述错误回源日志。
2.根据权利要求1所述的方法,其特征在于,所述实时拉取回源日志包括:通过轮询的方式拉取所述回源日志,并将所述回源日志写入分布式队列。
3.根据权利要求2所述的方法,其特征在于,所述基于大数据框架集群对所述实时拉取的回源日志进行计算包括:大数据框架集群以拉取的方式消费所述分布式队列。
4.根据权利要求1所述的方法,其特征在于,根据所述计算结果过滤出错误回源日志包括:
判断回源日志中是否出现预设的回源错误类型;
当预设的回源错误类型存在时,判断由于该类型错误导致回源失败;
将该回源日志统计为错误回源日志。
5.根据权利要求1所述的方法,其特征在于,收集所述错误回源日志,并将所述错误回源日志写入到分布式多用户全文搜索引擎包括:
监控错误回源日志文件产生;
读取错误回源日志文件的日志行;
解析和修改所述读取的日志行;
将经过解析和修改的日志行写入到分布式多用户全文搜索引擎。
6.根据权利要求1所述的方法,其特征在于,收集所述错误回源日志,并将所述错误回源日志写入到分布式多用户全文搜索引擎包括:
监控是否存在新的错误回源日志产生;
当产生新的错误回源日志时,拉取日志文件队列;
对拉取得到的日志文件队列进行采集和格式化,以形成分布式多用户搜索队列文件;
将所述分布式多用户搜索队列文件写入到分布式多用户全文搜索引擎。
7.根据权利要求6所述的方法,其特征在于,所述监控是否存在新的错误回源日志产生步骤、拉取日志文件队列步骤、对拉取得到的日志文件队列进行采集和格式化步骤以及将所述分布式多用户搜索队列文件写入到分布式多用户全文搜索引擎步骤在同一进程的不同线程中异步完成。
8.一种回源错误定位装置,其特征在于,所述装置包括:
日志实时下载模块,用于实时拉取回源日志;
日志处理模块,基于大数据框架集群对所述实时拉取的回源日志进行计算,根据所述计算的结果,过滤出错误回源日志,并将所述错误回源日志分布存储于大数据框架集群本地;
错误日志收集模块,用于收集所述错误回源日志
错误日志写入模块,用于将所述错误回源日志写入到分布式多用户全文搜索引擎;
错误日志定位模块,用于根据输入条件定位所述错误回源日志。
9.根据权利要求8所述的装置,其特征在于,所述日志事实下载模块包括:
轮询拉取子单元,用于通过轮询的方式拉取所述回源日志;
写入子单元,用于将所述回源日志写入分布式队列。
10.根据权利要求9所述的装置,其特征在于,日志计算模块基于大数据框架集群以拉取的方式消费所述分布式队列。
11.根据权利要求8所述的装置,其特征在于,错误日志过滤模块包括:
判断子单元,用于判断回源日志中是否出现预设的回源错误类型;
逻辑条件子单元,用于当预设的回源错误类型存在时,判断由于该类型错误导致回源失败;
过滤统计子单元,用于将该回源日志统计为错误回源日志。
12.根据权利要求8所述的装置,其特征在于,
错误日志收集模块,包括:
监控子模块,用于监控错误回源日志文件产生;
日支行读取子模块,用于读取错误回源日志文件的日志行;
发送子模块,用于发送所述读取的错误回源日志文件的日志行;
和/或,
错误日志解析模块,包括:
接收子模块,用于接收日志行;
解析和修改子模块,用于解析和修改所述日志行;
写入子模块,用于将经过解析和修改的日志行写入到分布式多用户全文搜索引擎。
13.根据权利要求8所述的装置,其特征在于,错误日志收集模块包括:
监控子模块,用于监控是否存在新的错误回源日志产生;
拉取子模块,用于当产生新的错误回源日志时,拉取日志文件队列;
采集和格式化子模块,用于对拉取得到的日志文件队列进行采集和格式化,以形成分布式多用户搜索队列文件;
写入子模块,用于将所述分布式多用户搜索队列文件写入到分布式多用户全文搜索引擎。
14.一种存储介质,所述存储介质中存储有指令,所述指令被执行用于实现权利要求1-7之一所述的方法。
15.一种系统,其特征在于,所述系统包含权利要求8-13之一所述的装置。
CN201810770281.7A 2018-07-13 2018-07-13 一种回源错误定位方法、装置、存储介质以及系统 Active CN109167672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810770281.7A CN109167672B (zh) 2018-07-13 2018-07-13 一种回源错误定位方法、装置、存储介质以及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810770281.7A CN109167672B (zh) 2018-07-13 2018-07-13 一种回源错误定位方法、装置、存储介质以及系统

Publications (2)

Publication Number Publication Date
CN109167672A true CN109167672A (zh) 2019-01-08
CN109167672B CN109167672B (zh) 2020-07-10

Family

ID=64897831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810770281.7A Active CN109167672B (zh) 2018-07-13 2018-07-13 一种回源错误定位方法、装置、存储介质以及系统

Country Status (1)

Country Link
CN (1) CN109167672B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124839A (zh) * 2019-12-31 2020-05-08 中国银行股份有限公司 分布式日志数据监控方法及装置
CN112422338A (zh) * 2020-11-12 2021-02-26 北京金山云网络技术有限公司 一种cdn网络的错误定位方法、装置及电子设备
CN113301098A (zh) * 2021-01-05 2021-08-24 阿里巴巴集团控股有限公司 路径规划方法、cdn连接建立方法、设备及存储介质
CN113495679A (zh) * 2020-04-01 2021-10-12 孟彤 基于非易失存储介质的大数据存储访问与处理的优化方法
CN113590573A (zh) * 2021-06-25 2021-11-02 济南浪潮数据技术有限公司 一种分布式集群的请求的路由方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036025A (zh) * 2014-06-27 2014-09-10 蓝盾信息安全技术有限公司 一种基于分布式的海量日志采集系统
US20150339376A1 (en) * 2012-08-02 2015-11-26 Artificial Solutions Iberia SL Natural language data analytics platform
CN106254086A (zh) * 2015-06-04 2016-12-21 重庆达特科技有限公司 云日志集中管理,分析,监控和报警平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150339376A1 (en) * 2012-08-02 2015-11-26 Artificial Solutions Iberia SL Natural language data analytics platform
CN104036025A (zh) * 2014-06-27 2014-09-10 蓝盾信息安全技术有限公司 一种基于分布式的海量日志采集系统
CN106254086A (zh) * 2015-06-04 2016-12-21 重庆达特科技有限公司 云日志集中管理,分析,监控和报警平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宫铭豪等: "浅谈ELK日志分析平台在有线网中的应用", 《广播电视信息》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124839A (zh) * 2019-12-31 2020-05-08 中国银行股份有限公司 分布式日志数据监控方法及装置
CN113495679A (zh) * 2020-04-01 2021-10-12 孟彤 基于非易失存储介质的大数据存储访问与处理的优化方法
CN113495679B (zh) * 2020-04-01 2022-10-21 北京大学 基于非易失存储介质的大数据存储访问与处理的优化方法
CN112422338A (zh) * 2020-11-12 2021-02-26 北京金山云网络技术有限公司 一种cdn网络的错误定位方法、装置及电子设备
CN112422338B (zh) * 2020-11-12 2022-11-08 北京金山云网络技术有限公司 一种cdn网络的错误定位方法、装置及电子设备
CN113301098A (zh) * 2021-01-05 2021-08-24 阿里巴巴集团控股有限公司 路径规划方法、cdn连接建立方法、设备及存储介质
CN113590573A (zh) * 2021-06-25 2021-11-02 济南浪潮数据技术有限公司 一种分布式集群的请求的路由方法和装置

Also Published As

Publication number Publication date
CN109167672B (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN109167672A (zh) 一种回源错误定位方法、装置、存储介质以及系统
WO2017071134A1 (zh) 分布式跟踪系统
US11775501B2 (en) Trace and span sampling and analysis for instrumented software
CN106487596A (zh) 分布式服务跟踪实现方法
CN107273267A (zh) 基于elastic组件的日志分析方法
CN108306980A (zh) 一种机务飞行保障大数据日志分析系统
US11573971B1 (en) Search and data analysis collaboration system
US11922222B1 (en) Generating a modified component for a data intake and query system using an isolated execution environment image
CN108073625A (zh) 用于元数据信息管理的系统及方法
US11695803B2 (en) Extension framework for an information technology and security operations application
CN108804497A (zh) 一种基于日志的大数据分析方法
CN107025222A (zh) 一种分布式日志采集方法及装置
WO2022165168A1 (en) Configuring an instance of a software program using machine learning
WO2021262859A1 (en) Novelty detection system
US11803439B2 (en) Enriched high fidelity metrics
CN112148578A (zh) 基于机器学习的it故障缺陷预测方法
WO2018213199A1 (en) System and method for testing message filters in publish-subscribe networks
CN114372084A (zh) 面向传感流数据的实时处理系统
CN112039726A (zh) 一种内容分发网络cdn设备的数据监控方法及系统
Diotalevi et al. Collection and harmonization of system logs and prototypal Analytics services with the Elastic (ELK) suite at the INFN-CNAF computing centre
Cao et al. Timon: A timestamped event database for efficient telemetry data processing and analytics
CN112749153A (zh) 一种工业网络数据管理系统
Anderson et al. Architectural Implications of Social Media Analytics in Support of Crisis Informatics Research.
CN115391429A (zh) 基于大数据云计算的时序数据处理方法及装置
WO2021217119A1 (en) Analyzing tags associated with high-latency and error spans for instrumented software

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