CN111817867A - 分布式环境下进行多日志协同分析的方法及系统 - Google Patents
分布式环境下进行多日志协同分析的方法及系统 Download PDFInfo
- Publication number
- CN111817867A CN111817867A CN201910291458.XA CN201910291458A CN111817867A CN 111817867 A CN111817867 A CN 111817867A CN 201910291458 A CN201910291458 A CN 201910291458A CN 111817867 A CN111817867 A CN 111817867A
- Authority
- CN
- China
- Prior art keywords
- log
- module
- file
- logs
- distributed
- 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.)
- Withdrawn
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/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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- 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/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- 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/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种分布式环境下进行多日志协同分析的方法和系统,包括:采用服务器‑代理结构构建日志收集系统,由各个分布式节点上的日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;构建通过至少两级泳道进行日志展示的日志展示系统,通过日志展示系统对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;在日志展示系统上进行多日志协同分析。应用本申请公开的技术方案,能够实现多日志协同分析。
Description
技术领域
本申请涉及日志分析技术领域,特别涉及一种分布式环境下进行多日志协同分析的方法及系统。
背景技术
随着通信技术的发展,通信领域中应用的计算机系统中的节点数量越来越多,构成了复杂的多主机分布式系统。
在整个系统运行时,系统中的各个分布式节点都将产生多个日志文件,每个日志文件又可能包含多个模块的打印信息。这些信息是记录主机的运行状态、系统事件以及错误信息的重要载体,如何更好地获取、分析日志是查看系统运行状态和追踪运行故障的重要手段,是系统恢复、错误跟踪、安全监测以及问题分析的重要依据,因此,日志分析对于系统的维护非常重要。
然而,由于在分布式系统中各个节点用户繁多、节点之间的交互频繁,每个节点都将产生多个日志文件,每个日志往往有包含多个模块的信息,日志的数据量巨大,分析十分复杂。因此,如何从分布式系统产生的海量的日志数据中,根据一个日志文件中出现的关键信息,结合其他相关的日志文件中的信息,得到系统当前的上下文,进而进行节点状态和问题分析,是在分布式结构中进行日志分析的重要分析方法,是一个亟待解决的问题。
传统的日志分析方法在进行问题分析时,需要维护人员根据研发人员的指导获取分布式系统中某一节点的相关日志文件,并采用关键字查找或出错大概时间的方式定位到出错时的日志记录,如果该记录无法分析出问题产生原因,则需要继续根据研发人员的指导到下一个相关的分布式节点获取日志并继续分析,直到找到发生问题的分布式节点为止。定位到发生问题的分布式节点后,有时还需要根据日志记录的出错信息找到系统的相关环境上下文,才能分析出问题发生的原因,这种问题分析的过程非常复杂,效率低下,分析难度巨大。
为了更好地进行日志分析,进而分析系统的状态,解决系统故障,人们经过了长期的探索。例如:
在专利申请《日志分析方法和系统》中[申请号:CN201710414377],从日志的结构特征着手,将具有相同结构信息和关键词的日志记录进行归类展示,从而可以有效地将具有同一句代码输出的日志记录归为同一类,当输出各个类型日志的模式信息,可以清晰、直观地展示日志,方便用户查看和分析日志。但上述方法只关注于分析某个分布式节点的日志的出错信息,没有考虑到该节点的相关节点的状态,不利于分析问题发生时整个系统的状态。
在专利申请《一种基于分布式存储的日志分析方法及装置》[申请号:CN201710217523]中提供了一种基于分布式存储的日志分析方法及装置,以实现对日志数据的海量存储及分析,通过日志代理实时收集日志数据,并将所述日志数据发送至日志后台服务;通过日志后台服务接收,根据日志数据确定分片参数及副本参数对所述日志数据进行分布式存储,以使日志展现模块通过日志接口对日志数据进行分析及展示。通过日志展现模块根据用户输入的信息(如fail、error等关键字)在分布式存储中获取指定日志信息。上述方案解决了分布式系统日志的获取和存储问题,但日志分析展示时仍然是根据关键字进行日志分析,只关注关键字信息,无法从全局角度获取问题发生时的上下文。
在专利申请《一种基于分布式采集的日志分析系统及方法》[CN201610694368]中采用了类似的日志文件收集应用模块、日志接收应用集群模块、分布式日志存储模块和Zookeeper注册中心集群模块,同时,提供了一种在日志生成时,根据Tracing ID追踪业务的日志分析方法。但基于Tracing ID的日志分析方法,只能针对某一Tracing ID进行分析,对于无Tracing ID或有多个Tracing ID实例的情况无法处理。
在专利申请《分布式计算环境的日志动态分析系统》[申请号:CN201610030483]中采用了类似的日志收集、日志传输、日志存储外,还定义了实时流处理服务对日志信息进行实时计算和特征匹配,生成流式处理的数据信息和异常统计信息。它将收集的日志信息进行实时计算与特征匹配,以XML格式统一生成流式处理的数据信息,并定义触发器形成日志特征驱动的异常统计信息,通过各个功能模块将日志动态分析的过程完整实现。此方法中的实时流处理服务仅根据业务特征,对某个业务生成流式处理信息,业务特征不易确定,且各个节点各个模块的日志信息混杂在一起,不易阅读,同时,该方法不能获取系统完整的上下文,而是根据特征匹配少数几个日志文件,不利于问题的分析。
根据前面的分析,可知现有技术的存在如下缺点:
1.日志分析仅仅关注于某个节点的某个日志文件,没有关注该节点的其他日志文件,在问题由该节点其他模块引起时,不利于问题的分析。
2.日志分析时,仅仅关注出错日志所在节点,没有关注于整个系统其他节点的状态,当问题由于其他节点故障引发时,仅仅分析本节点日志,不利于日志的分析。
3.采用关键字(如Tracing ID或事物ID)方式产生的关键字相关的日志,或根据特征(如特定格式的请求)匹配的方式产生的流式日志,关键字或特征不易选取,产生的流式日志可能会由于某个日志文件不包含特征或关键字而被略过,从而导致可能丢失关键信息和分布式系统上下文。
4.采用关键字或根据特征产生的流式的日志,各个节点中各个文件的各个模块的日志信息完全混杂在在一起,不易阅读。
5.传统日志方法关注于日志的收集和处理策略,对于日志的展示方法没有更好的解决方案。
6.传统的日志分析方法仅仅关注本次日志分析,没有考虑对后来再次发生同类错误时的问题分析提供帮助。
发明内容
本申请提供了一种分布式环境下利用多泳道进行多日志协同分析的方法和系统,以实现多日志协同分析。
本申请公开了一种分布式环境下利用多泳道进行多日志协同分析的方法,包括:
采用服务器-代理结构构建日志收集系统,由各个分布式节点上的日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;
构建通过至少两级泳道进行日志展示的日志展示系统,通过日志展示系统对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;
在日志展示系统上进行多日志协同分析。
较佳的,该方法还包括:
日志收集服务器在保存日志文件时,对各个日志文件进行以下预处理:时间对齐预处理、模块划分预处理、日志合并预处理、关键信息预处理,其中:
时间对齐预处理是:根据日志收集代理注册时消息中的时间与日志收集服务器的时间的差值,对各个日志文件中的日志头部进行时间对齐;
模块划分预处理是:在读取每行日志时,根据模块名,将相同模块的日志单独提取为一个文件进行保存;
日志合并预处理是:将符合规则的日志进行合并。
关键信息预处理是:根据预先定义的关键字记录表,记录关键字所在的日志文件及其位置。
较佳的,采用“节点-日志文件-模块”的三级泳道标题的层次结构,其中:
一级泳道的标题标明分布式节点信息,包括:节点名、ID、IP,每个一级泳道包含至少一个二级泳道;
二级泳道的标题标明运行在该分布式节点中的应用名或日志文件列表,每个二级泳道包含0个以上三级泳道;
三级泳道的标题标明该日志文件中的模块名。
较佳的,所述日志展示系统通过使用带时间线的泳道同时展示多个模块日志,同一行中的各个记录的时间相同,在泳道标题展示节点ID、日志文件名和模块ID,并通过时间线对齐展示日志记录。
较佳的,该方法还包括:
根据用户的设置设定时间窗口,提取一组日志片段,组成整个分布式系统一段时间内的系统快照。
本申请还公开了一种分布式环境下利用多泳道进行多日志协同分析的系统,包括:日志收集系统和日志展示系统,其中:
日志收集系统中包括日志收集服务器和各个分布式节点上的日志收集代理,由各个日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;
日志展示系统用于通过至少两级泳道对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;
日志展示系统所展示的日志用于多日志协同分析。
较佳的,日志收集服务器中包括:代理管理器、日志接收模块和日志文件管理器,其中:
代理管理器用于管理各个日志收集代理,维护各个日志收集代理的配置信息,包括:节点id、节点名、节点时间、日志列表,并接收日志收集代理发送的管理消息,包括:注册、注销、心跳消息,以及向日志收集代理发送管理消息,包括:日志同步指示消息和心跳消息;
日志接收模块用于启动日志接收的FTP服务器以及流式日志接收后台程序,并对各个日志文件进行时间对齐预处理、模块划分预处理、日志合并预处理、关键信息预处理;
日志文件管理器用于根据日志收集代理的注册消息提供的信息建立日志存储目录结构,日志文件接收模块收到日志并保存好后利用树型结构保存所有的日志。
较佳的,日志收集代理中包括:日志代理控制器和日志传输模块,其中:
日志代理控制器用于与日志收集服务器进行控制消息的交互,包括收集分布式节点的信息,并向日志收集服务器进行注册;在分布式节点即将删除时发送代理注销消息;收到日志同步指示消息后调用日志传输模块的接口进行日志发送的功能;
日志传输模块在收到日志同步指示消息后,根据指示的参数进行日志文件的发送;当采用文件传输模式时,通过FTP服务器发送日志文件;当采用流式传输模式时,根据系统负载情况,启动线程依次读取指定日志文件。
较佳的,日志展示系统包括日志泳道模板模块和日志展示模块,其中:
日志泳道模板模块用于定制分布式节点中需要展示的文件和/或模块,以及显示级别;
日志展示模块用于将预处理后的日志进行展示,数据结构主要包含时间线和日志泳道。
较佳的,所述日志展示模块还用于提供日志关键字搜索功能,当检测到输入关键字时,直接跳转到指定行;
所述日志展示模块还用于提供关键字高亮等功能;
所述日志展示模块还用于提供关联日志功能,当检测到某一泳道的某一行被选中时,根据预定义的关联规则,展示相邻泳道。
由上述技术方案可见,本申请相比于现有方案具备以下优点:
1.本申请除了关注日志数据的收集之外,还提出了一种日志展示方法,该方法利用多个带标题窗口(称为多级泳道)同时展现多个日志文件的记录,并利用时间线对齐各个日志文件的记录。通过多日志文件并列展示以及时间对齐,可以清晰地展现某一时间分布式系统的全貌,了解各个节点的状态和交互关系,从而可以更方便地进行多日志协同分析。
2.本申请通过在采集日志副本的同时进行预处理,并利用时间戳进行各个日志文件的时间对齐,避免了各个节点时间不同步而造成的麻烦。
3.本申请在保存日志副本时,通过修改时间格式、删除模块名的方式对日志头进行压缩,同时可以将一个日志文件根据模块划分为多个文件,从而减少日志文件的存储空间。
4.本申请可以按照时间窗口方式提取一组日志片段,组成典型场景的日志模板,对未来的系统分析提供帮助。
5.本申请采用服务器-代理结构的日志副本采集系统,由代理读取日志文件并转发给服务器,不需要修改原系统的程序,部署方便。
6.本申请日志展示和日志收集分离,使用方便。
附图说明
图1为本申请分布式环境下利用多泳道进行日志分析的方法流程示意图;
图2为本申请基于服务器-代理模式的日志收集系统的结构示意图;
图3为本申请日志收集服务器的构成示意图;
图4为本申请日志收集代理的构成示意图;
图5为本申请日志展示系统的构成示意图;
图6为本申请日志泳道示意图。
具体实施方式
为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。
本发明提出一种分布式环境下利用多泳道进行日志分析的方法和系统。图1为本发明分布式环境下利用多泳道进行日志分析的方法的流程示意图,该方法包括以下步骤:
步骤101:采用服务器-代理结构构建日志收集系统,由各个分布式节点上的日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;
步骤102:构建通过至少两级泳道进行日志展示的日志展示系统,通过日志展示系统对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;
步骤103:在日志展示系统上进行多日志协同分析。
下面分别从以下几个方面对本申请技术方案进行进一步详细说明。
一、日志收集系统
本申请利用服务器-代理结构构建了一套在分布式环境下进行日志收集的系统,由各个分布式节点上的日志收集代理将各个分布式节点上的日志文件副本保存到日志收集服务器。
本申请基于服务器-代理模式的日志收集系统的结构如图2所示,包括:日志收集服务器和各个分布式节点上的日志收集代理。
(1)日志收集服务器
日志收集服务器中包括:代理管理器、日志接收模块和日志文件管理器,其组成结构参见图3,其中:
代理管理器用于管理各个日志收集代理,维护各个日志收集代理的配置信息,例如:节点id、节点名、节点时间、日志列表等信息;接收日志收集代理发送的管理消息,例如:注册、注销、日志同步指示消息、心跳消息。消息定义如下:
1.代理注册消息用于告知系统中包含哪些节点以及各个节点上日志文件的分布情况,代理注册消息中包含分布式节点id、分布式节点名称、分布式节点ip地址和端口、分布式节点的节点时间,该分布式节点的日志文件名列表,可选的,还可以包含日志中所包含的模块列表。在分布式节点注册时,代理注册消息由日志收集代理发送给服务端的代理管理器。
2.代理注销消息在分布式节点删除时由日志收集代理发送给服务端的代理管理器,用于清除该分布式节点在服务器上的日志文件,防止日志展示模块加载不存在的节点从而造成混乱。
3.日志同步指示消息用于代理管理器告知各个分布式节点的日志收集代理准备开始发送日志,通过在该消息中设定传输模式,可以指定通过文件传输模式发送日志文件,或者,通过流式传输模式发送日志文件。其中:
文件传输模式即通过日志接收模块启动FTP服务器,并通过FTP传输所有日志文件,之后,日志文件保存在日志服务器的文件系统中;
流式传输模式即日志收集代理程序在分布式节点资源空闲时实时读取日志文件,并将日志内容以流的方式发送给日志收集服务器,日志收集服务器收到后将日志文件保存到日志服务器的文件系统中。
可选的,可以增加分布式节点性能读取脚本,周期性采集性能参数,如:CPU、内存、硬盘占用信息,所采集的性能参数用作日志分析的参考信息。
可选的,可在日志同步指示消息中定义其他字段,设定进行周期同步和延时同步等扩展功能。
4.心跳消息用于保证服务器与代理之间的保活。
日志接收模块:用于启动日志接收的FTP服务器以及流式日志接收后台程序。同时,对于流式日志数据提供根据日志注册消息提供的分布式节点时间进行时间对齐、重复日志合并、错误字典记录以及根据日志文件中的模块名进行分模块保存的预处理功能,之后将流式日志保存到对应的日志文件副本。可选的,可使用关系型数据库,例如MySQL等维护日志数据,例如定义日志记录表,使用节点id、文件id、模块id以及距离1970年的时间作为关键字将带有时间的日志保存到该表中;可选的,可以支持日志文件的断点续传功能。
日志文件管理器:用于根据日志代理注册消息提供的信息建立日志存储目录结构,日志文件接收模块收到日志并保存好后利用树型结构保存所有的日志。
(2)日志收集代理
日志收集代理中包括:日志代理控制器和日志传输模块,其组成结构参见图4,其中:
日志代理控制器:用于与日志收集服务器进行控制消息的交互,包括收集分布式节点的信息,并向日志收集服务器进行注册;在分布式节点即将删除时发送代理注销消息;收到日志同步指示消息后调用日志传输模块的接口进行日志发送的功能。
日志传输模块:在收到日志同步指示消息后,根据指示的参数进行日志文件的发送。当采用文件传输模式时,通过FTP服务器发送日志文件;当采用流式传输模式时,根据系统负载情况,启动线程依次读取指定日志文件;可选的,流式传输模式可支持断点续传功能。
二、日志展示系统
本申请构建通过多个带标题的窗口(称为泳道)进行日志展示的日志展示系统。
本发明中,日志展示系统与日志收集系统分离。日志收集系统收集完日志并进行预处理后存储到日志收集服务器的日志文件管理器中,之后,日志展示系统从日志文件管理器中读取日志文件并展示,可以通过客户端程序,也可以通过WEB进行展示。
由于在每个分布式节点上可以包含一个或多个日志文件,每个日志文件可以包含一个或多个模块,因此,较佳的,可以采用“节点-日志文件-模块”的三级泳道标题来标明的层次结构,其中:一级泳道的标题标明分布式节点信息,如节点名、ID、IP等;每个一级泳道包含至少一个二级泳道,二级泳道的标题标明运行在该分布式节点中的应用名或日志文件列表;每个二级泳道包含0个以上三级泳道,三级泳道的标题标明该日志文件中的模块名,如图5所示。
参见图6,日志展示系统包含日志泳道模板模块、日志预处理模块(时间对齐,模块划分)和日志展示模块。其中:
日志泳道模板模块:用于定制分布式节点中需要展示的文件和/或模块,以及显示级别。也就是说,日志泳道模板模块用于定制哪些分布式节点的哪些文件以及哪些模块需要展示,以及显示到哪个级别。在默认情况下,本系统首先根据日志收集代理注册时带有的节点名、日志文件名和模块名展示所有的泳道,然而,当节点过多时,显示太多不利于日志的查看,因此,分析人员可以根据需要对需要展示的泳道进行编辑,对于需要隐藏的泳道也可以通过编辑进行隐藏,并保存该模板方便下次分析时使用。
日志预处理模块是本申请为了提高处理效率而设置的。一方面,在日志收集服务器接收流式日志文件时,可以利用日志预处理模块的日志预处理功能进行时间对齐、日志合并、模块划分等工作;另一方面,对于整个文件拷贝的日志,日志预处理模块也可以对其进行与流式日志相同的的日志预处理操作。其中:
时间对齐预处理是指:在日志收集代理注册时,利用消息中的时间与日志收集服务器的时间进行比对得到两者的差值,之后在取得日志头中的时间后,利用该差值匹配为统一的时间,这样避免了在分析时,各个分布式节点时间不一致而造成的困难。
模块划分预处理是指:在读取每行日志时,根据注册消息中定义的模块名,将相同模块的日志单独提取为一个文件。
可选的,对于关键信息的预处理可以包括:预先定义关键字记录表(参见表1),可设置ERROR、FAIL等关键字,在预处理时,记录关键字所在的日志文件及其行数,以方便展示操作。
表1关键字记录表
日志合并预处理是为了展示方便。通过日志合并预处理可定制策略,合并符合规则的日志,例如:当连续多条日志头部的时间相同时,可将这些日志的头部合并;或者当连续多条日志相同时,可记录起止时间和出现次数,并合并展示成一条记录。
日志展示模块:该模块用于将预处理后的日志进行展示,数据结构主要包含时间线和日志泳道。
可选的,本发明的日志展示模块提供日志关键字搜索功能,当检测到输入关键字时,可以直接跳转到指定行。
可选的,本发明日志展示模块还提供关键字高亮等功能,使得问题分析有更好的用户体验。
可选的,通过本发明日志展示模块还可以提供关联日志功能,当检测到某一泳道的某一行被选中时,根据预定义的关联规则,展示相邻泳道。
日志展示模块的加载流程如下:
S1.根据前述的日志文件管理器生成的树形文件结构初始化日志展示模块。可选的,可以通过读取指定日志泳道模板初始化日志展示模块。
S2.初始化“日志记录表”(数据结构定义参见表2),该表用于存储展示泳道的日志记录。之后根据配置读取第一个日志文件(通常是目标日志文件),取得该文件中的时间信息,并用距离1970年的时间作为关键字保存到数组中。可选的,可根据前述的关键字记录表,设定加载的第一个文件及其位置。由于界面显示空间有限,不需要加载所有的文件数据,只需根据配置加载若干行即可,例如:可以根据屏幕高度计算出一个屏幕可以容纳的行数,并预先读取三个屏幕的行数;同时将时间信息保存到时间线数组中。
表2日志记录表节点
S3.依次读取其他日志(模块)文件,填充时间线数组和日志记录表。读取其他日志文件时,为保证采用升序排列,对之前时间的记录采用插入操作。
S4.在展示界面根据加载的数据展示日志,并保证同一行中的各个记录时间相同。
S5.用户进行日志分析:经过前面的处理后,展示模块每一行都分别展示了指定时间内,所有节点的所有模块打印的日志,则在问题分析时,一目了然,结合关键字高亮、关联行高亮等可选功能后,问题分析更加简单。
S6.最后,用户可根据需要剔除不需要的泳道,并保存泳道模板,以加快下次加载日志数据的时间。
三、多日志协同分析
本申请通过多泳道进行多日志协同分析,具体步骤如下:
第1步:通过日志收集系统收集日志,具体包括以下步骤a-c:
步骤a、部署日志收集系统,并配置。
步骤b、日志收集代理向日志收集服务器注册。
1.在确保日志收集服务器启动后,首先由各个分布式节点的日志收集代理向日志收集服务器注册,注册消息包含分布式节点id、分布式节点名称、分布式节点IP地址和端口、分布式节点的节点时间,该节点的日志文件名列表,可选的包含日志中包含的模块列表,这些信息在配置日志收集代理时通过配置文件进行配置。
2.日志收集服务器在代理管理器中保存注册信息,并计算各个注册节点与日志收集服务器的时间差,启动与日志收集代理程序间的保活线程。
步骤c、日志收集和预处理。
1)用户通过日志收集服务器向所有注册的日志收集代理发出“日志同步指示消息”。
2)日志收集代理收到同步指示消息后,获取本地日志文件列表,根据日志同步模式通过FTP或流的方式发送日志数据;可选的,支持断点续传方式,即如果某些日志文件已经进行过同步,可以从上次传输的位置开始传输,从而提高传输效率。
3)日志收集服务器通过日志接收模块接收数据,之后根据日志文件管理器记录的文件系统结构对日志文件进行预处理并存储;可选的支持断点续传,即之前曾经传输过的日志文件,以追加写入的方式写入日志文件。
第2步:日志展示系统展示日志,具体包括:
首先,进行日志展示系统初始化,默认通过日志收集服务器的日志文件管理器提供的接口获取泳道,或通过泳道模板加载泳道;
然后,根据前述日志展示模块加载流程加载日志记录数据。
第3步:在日志展示系统上进行多日志协同分析,具体包括:
首先,进行日志定位。可选定目标泳道,之后在该泳道搜索指定关键字进行定位。可选的,根据前述日志展示模块加载步骤S2中方法,直接跳转到指定记录。
定位到指定记录后,日志展示系统自动列出其他泳道相同时间的记录,即分布式系统全貌,之后可分析前后信息,协同分析分布式系统整体的状态,进而可分析故障原因。
可以设定时间窗口,保存典型场景的分布式系统快照,为下次分析做准备。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种分布式环境下进行多日志协同分析的方法,其特征在于,包括:
采用服务器-代理结构构建日志收集系统,由各个分布式节点上的日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;
构建通过至少两级泳道进行日志展示的日志展示系统,通过日志展示系统对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;
在日志展示系统上进行多日志协同分析。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
日志收集服务器在保存日志文件时,对各个日志文件进行以下预处理:时间对齐预处理、模块划分预处理、日志合并预处理、关键信息预处理,其中:
时间对齐预处理是:根据日志收集代理注册时消息中的时间与日志收集服务器的时间的差值,对各个日志文件中的日志头部进行时间对齐;
模块划分预处理是:在读取每行日志时,根据模块名,将相同模块的日志单独提取为一个文件进行保存;
日志合并预处理是:将符合规则的日志进行合并。
关键信息预处理是:根据预先定义的关键字记录表,记录关键字所在的日志文件及其位置。
3.根据权利要求1所述的方法,其特征在于,采用“节点-日志文件-模块”的三级泳道标题的层次结构,其中:
一级泳道的标题标明分布式节点信息,包括:节点名、ID、IP,每个一级泳道包含至少一个二级泳道;
二级泳道的标题标明运行在该分布式节点中的应用名或日志文件列表,每个二级泳道包含0个以上三级泳道;
三级泳道的标题标明该日志文件中的模块名。
4.根据权利要求3所述的方法,其特征在于:
所述日志展示系统通过使用带时间线的泳道同时展示多个模块日志,同一行中的各个记录的时间相同,在泳道标题展示节点ID、日志文件名和模块ID,并通过时间线对齐展示日志记录。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
根据用户的设置设定时间窗口,提取一组日志片段,组成整个分布式系统一段时间内的系统快照。
6.一种分布式环境下进行多日志协同分析的系统,其特征在于,包括:日志收集系统和日志展示系统,其中:
日志收集系统中包括日志收集服务器和各个分布式节点上的日志收集代理,由各个日志收集代理读取相应分布式节点上的日志文件,将所读取的日志文件副本发送给日志收集服务器保存;
日志展示系统用于通过至少两级泳道对日志收集服务器所保存的日志文件进行展示;其中,泳道为带标题的窗口;
日志展示系统所展示的日志用于多日志协同分析。
7.根据权利要求6所述的系统,其特征在于,日志收集服务器中包括:代理管理器、日志接收模块和日志文件管理器,其中:
代理管理器用于管理各个日志收集代理,维护各个日志收集代理的配置信息,包括:节点id、节点名、节点时间、日志列表,并接收日志收集代理发送的管理消息,包括:注册、注销、心跳消息,以及向日志收集代理发送管理消息,包括:日志同步指示消息和心跳消息;
日志接收模块用于启动日志接收的FTP服务器以及流式日志接收后台程序,并对各个日志文件进行时间对齐预处理、模块划分预处理、日志合并预处理、关键信息预处理;
日志文件管理器用于根据日志收集代理的注册消息提供的信息建立日志存储目录结构,日志文件接收模块收到日志并保存好后利用树型结构保存所有的日志。
8.根据权利要求6或7所述的系统,其特征在于,日志收集代理中包括:日志代理控制器和日志传输模块,其中:
日志代理控制器用于与日志收集服务器进行控制消息的交互,包括收集分布式节点的信息,并向日志收集服务器进行注册;在分布式节点即将删除时发送代理注销消息;收到日志同步指示消息后调用日志传输模块的接口进行日志发送的功能;
日志传输模块在收到日志同步指示消息后,根据指示的参数进行日志文件的发送;当采用文件传输模式时,通过FTP服务器发送日志文件;当采用流式传输模式时,根据系统负载情况,启动线程依次读取指定日志文件。
9.根据权利要求6所述的系统,其特征在于,日志展示系统包括日志泳道模板模块和日志展示模块,其中:
日志泳道模板模块用于定制分布式节点中需要展示的文件和/或模块,以及显示级别;
日志展示模块用于将预处理后的日志进行展示,数据结构主要包含时间线和日志泳道。
10.根据权利要求9所述的系统,其特征在于:
所述日志展示模块还用于提供日志关键字搜索功能,当检测到输入关键字时,直接跳转到指定行;
所述日志展示模块还用于提供关键字高亮等功能;
所述日志展示模块还用于提供关联日志功能,当检测到某一泳道的某一行被选中时,根据预定义的关联规则,展示相邻泳道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291458.XA CN111817867A (zh) | 2019-04-11 | 2019-04-11 | 分布式环境下进行多日志协同分析的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291458.XA CN111817867A (zh) | 2019-04-11 | 2019-04-11 | 分布式环境下进行多日志协同分析的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111817867A true CN111817867A (zh) | 2020-10-23 |
Family
ID=72843835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910291458.XA Withdrawn CN111817867A (zh) | 2019-04-11 | 2019-04-11 | 分布式环境下进行多日志协同分析的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817867A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098942A (zh) * | 2021-03-25 | 2021-07-09 | 网易(杭州)网络有限公司 | 一种分布式系统的数据处理方法及装置 |
CN115378802A (zh) * | 2022-08-24 | 2022-11-22 | 深圳市晨北科技有限公司 | 一种日志收集方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205062A (zh) * | 2012-03-26 | 2014-12-10 | 微软公司 | 剖析数据可视化 |
CN105574205A (zh) * | 2016-01-18 | 2016-05-11 | 国家电网公司 | 分布式计算环境的日志动态分析系统 |
WO2017071134A1 (zh) * | 2015-10-28 | 2017-05-04 | 北京汇商融通信息技术有限公司 | 分布式跟踪系统 |
CN106649312A (zh) * | 2015-10-29 | 2017-05-10 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 日志文件的分析方法和系统 |
-
2019
- 2019-04-11 CN CN201910291458.XA patent/CN111817867A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104205062A (zh) * | 2012-03-26 | 2014-12-10 | 微软公司 | 剖析数据可视化 |
WO2017071134A1 (zh) * | 2015-10-28 | 2017-05-04 | 北京汇商融通信息技术有限公司 | 分布式跟踪系统 |
CN106649312A (zh) * | 2015-10-29 | 2017-05-10 | 北京北方微电子基地设备工艺研究中心有限责任公司 | 日志文件的分析方法和系统 |
CN105574205A (zh) * | 2016-01-18 | 2016-05-11 | 国家电网公司 | 分布式计算环境的日志动态分析系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098942A (zh) * | 2021-03-25 | 2021-07-09 | 网易(杭州)网络有限公司 | 一种分布式系统的数据处理方法及装置 |
CN113098942B (zh) * | 2021-03-25 | 2022-07-12 | 网易(杭州)网络有限公司 | 一种分布式系统的数据处理方法及装置 |
CN115378802A (zh) * | 2022-08-24 | 2022-11-22 | 深圳市晨北科技有限公司 | 一种日志收集方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7047297B2 (en) | Hierarchically organizing network data collected from full time recording machines and efficiently filtering the same | |
US7162698B2 (en) | Sliding window packet management systems | |
US7315894B2 (en) | Network data retrieval and filter systems and methods | |
US6473752B1 (en) | Method and system for locating documents based on previously accessed documents | |
US7149189B2 (en) | Network data retrieval and filter systems and methods | |
WO2021088724A1 (zh) | 一种测试方法及装置 | |
US7031981B1 (en) | Tool supporting system log file reporting | |
CN106980627A (zh) | 日志内容的显示方法及装置 | |
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
US20170018290A1 (en) | System and Method for Event Data Collection and Video Alignment | |
WO2014049804A1 (ja) | 分散システムにおけるシステム動作トレース方法 | |
US20170201606A1 (en) | Automatically adjusting timestamps from remote systems based on time zone differences | |
CN110321383A (zh) | 大数据平台数据同步方法、装置、计算机设备及存储介质 | |
CN111817867A (zh) | 分布式环境下进行多日志协同分析的方法及系统 | |
CN103530369A (zh) | 一种去重方法及系统 | |
CN107544894A (zh) | 一种日志处理的方法、装置及服务器 | |
CN110955710B (zh) | 一种数据交换作业中脏数据的处理方法及装置 | |
CN113282609A (zh) | 一种基于大数据技术的智能解析数据的方法 | |
CN113190531A (zh) | 一种数据库迁移方法、装置、设备和存储介质 | |
CN113298106A (zh) | 一种样本生成方法、装置、服务器及存储介质 | |
CN105095047B (zh) | 一种提取底层系统行为特征的操作系统监控方法及装置 | |
WO2021047575A1 (zh) | 负载测试方法、装置、电子设备及计算机可读存储介质 | |
CN113094265B (zh) | 测试脚本的分析方法及分析装置、电子设备 | |
CN109684159A (zh) | 分布式消息系统的状态监控方法、装置、设备及存储介质 | |
CN113010588B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201023 |
|
WW01 | Invention patent application withdrawn after publication |