CN114168445A - 一种日志分析方法、装置、系统及可读存储介质 - Google Patents
一种日志分析方法、装置、系统及可读存储介质 Download PDFInfo
- Publication number
- CN114168445A CN114168445A CN202111591941.3A CN202111591941A CN114168445A CN 114168445 A CN114168445 A CN 114168445A CN 202111591941 A CN202111591941 A CN 202111591941A CN 114168445 A CN114168445 A CN 114168445A
- Authority
- CN
- China
- Prior art keywords
- log
- processing
- local
- processing center
- clickwouse
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
- G06F16/1794—Details of file format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种日志分析方法、装置、系统及可读存储介质,方法应用于日志处理中心,包括:接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;将日志写入日志处理中心的本地磁盘中,并从日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对最新日志进行处理,以得到第一处理日志;将第一处理日志发送至本地ClickHouse,由本地ClickHouse对第一处理日志进行分析。本申请公开的上述技术方案,通过Netty的高传输高并发性能、ClickHouse强悍的存储能力和分析能力及日志存储在本地磁盘上而降低日志分析的复杂性,提高日志分析的实时性,并实现轻量化地实现日志分析。
Description
技术领域
本申请涉及日志分析技术领域,更具体地说,涉及一种日志分析方法、装置、系统及可读存储介质。
背景技术
日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志。日志记录了设备上和网络上每天发生的各种事情,因此,可以通过对日志进行分析来了解各个设备和整个网络的状况。
目前,日志收集系统一般采用ELK、Flume等技术进行实现,虽然功能完善,但是,技术门槛和部署环境要求比较高,维护成本也相对比较高。开发时要求开发人员必须掌握多种技术,对于非大数据专业的人员来说,并非开箱即用。部署系统时对部署环境要求比较高,往往需要多节点部署,部署和维护都相对麻烦,需要借助比较多的消息中间件等进行实现,且对于日志量不大、实时性要求高、日志系统并非核心业务等业务场景或中小型企业来说,采用上述技术进行日志收集和分析过于重量级。
综上所述,如何降低日志分析的复杂性,提高日志分析的实时性,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种日志分析方法、装置、系统及可读存储介质,用于降低日志分析的复杂性,提高日志分析的实时性。
为了实现上述目的,本申请提供如下技术方案:
一种日志分析方法,应用于日志处理中心,包括:
接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;
将所述日志写入所述日志处理中心的本地磁盘中,并从所述日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对所述最新日志进行处理,以得到第一处理日志;
将所述第一处理日志发送至所述本地ClickHouse,由所述本地ClickHouse对所述第一处理日志进行分析。
优选的,将所述第一处理日志发送至所述本地ClickHouse,包括:
判断所述第一处理日志的数量在预设时间长度内是否达到阈值;
若是,则将数量达到所述阈值的所述第一处理日志发送至所述本地ClickHouse;
若否,则将所述预设时间长度内的所述第一处理日志发送至所述本地ClickHouse。
优选的,根据所述本地ClickHouse对所述最新日志进行处理,以得到第一处理日志,包括:
根据所述本地ClickHouse对日志的格式需求,利用日志加工处理器对各条所述最新日志进行加工处理,以得到第一加工处理日志;
根据所述本地ClickHouse的日志对接方式,利用日志处理器对所述第一加工处理日志进行转换,以得到所述第一处理日志。
优选的,还包括:
根据第三方日志分析系统对所述最新日志进行处理,以得到第二处理日志;
将所述第二处理日志发送至所述第三方日志分析系统,由所述第三方日志分析系统对所述第二处理日志进行分析。
优选的,将所述日志写入所述日志处理中心的本地磁盘中,包括:
利用所述日志处理中心中的日志记录工具将所述日志写入所述日志处理中心的本地磁盘中。
优选的,利用所述日志处理中心中的日志记录工具将所述日志写入所述日志处理中心的本地磁盘中,包括:
利用所述日志记录工具将所述日志写入所述日志处理中心的本地磁盘中相应的日志文件中;
从所述日志处理中心的本地磁盘上获取最新日志,包括:
从所述日志处理中心的本地磁盘中获取最新生成的日志文件,并将所述最新生成的日志文件中的日志作为所述最新日志。
优选的,接收在日志探测端的本地磁盘上进行探测的日志,包括:
接收所述日志探测端中的日志探针在所述日志探测端的本地磁盘上进行探测并进行解析后的日志。
一种日志分析装置,应用于日志处理中心,包括:
接收模块,用于接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;
写入模块,用于将所述日志写入所述日志处理中心的本地磁盘中,并从所述日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对所述最新日志进行处理,以得到第一处理日志;
发送模块,用于将所述第一处理日志发送至所述本地ClickHouse,由所述本地ClickHouse对所述第一处理日志进行分析。
一种日志分析系统,包括Netty、日志处理中心、本地ClickHouse,其中:
所述Netty,用于接收在日志探测端的本地磁盘上探测到的日志,并将所述日志传输至所述日志处理中心;
所述日志处理中心,用于执行如上述任一项所述的日志分析方法的步骤;
所述本地ClickHouse,用于接收所述日志处理中心发送的第一处理日志,并对所述第一处理日志进行分析。
一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的日志分析方法的步骤。
本申请提供了一种日志分析方法、装置、系统及可读存储介质,其中,该方法应用于日志处理中心,包括:接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;将日志写入日志处理中心的本地磁盘中,并从日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对最新日志进行处理,以得到第一处理日志;将第一处理日志发送至本地ClickHouse,由本地ClickHouse对第一处理日志进行分析。
本申请公开的上述技术方案,接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志,由于Netty具有并发高、传输快、封装好易集成等优点,因此,利用Netty进行日志传输则可以降低日志传输的复杂性,提高日志分析的实时性。日志处理中心在接收到Netty传输的日志后,将日志写入本地磁盘中,以利用本地磁盘对日志起到缓存和持久化的作用,从而提高日志分析的可靠性,并减少消息中间件等的使用,实现日志分析的轻量化,并通过从日志处理中心的本地磁盘中获取最新日志对最新日志进行处理而实现对日志的有序处理,提高日志处理和分析的可靠性。而且日志处理中心将处理后的日志发送至ClickHouse,由ClickHouse对处理后的日志进行分析,由于ClickHouse具有高数据压缩、多核心并行处理、向量引擎、实时数据更新、支持近似计算、简单灵活、强悍存储性能等特性,因此,则可以提高对日志分析的实时性,降低日志分析的复杂性。因此,通过本申请可以很好地解决现有日志分析系统所存在的技术门槛高、部署环境苛刻、维护成本高、实时性差、过于重量级等问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种日志分析方法的流程图;
图2为本申请实施例提供的一种日志分析系统的结构示意图;
图3为本申请实施例提供的另一种日志分析方法的流程图;
图4为本申请实施例提供的又一种日志分析方法的流程图;
图5为本申请实施例提供的一种日志分析装置的结构示意图。
具体实施方式
现有的日志收集系统一般采用ELK(其是Logstash、Elasticsearch、Kibana开源软件的集合)、Flume(一个分布式、可靠、和高可用的海量日志聚合的系统)等技术进行实现,虽然功能完善,但是,技术门槛和部署环境要求比较高,维护成本也相对比较高。开发时要求开发人员必须掌握多种技术,对于非大数据专业的人员来说,并非开箱即用。部署系统时对部署环境要求比较高,往往需要多节点部署,部署和维护都相对麻烦,需要借助比较多的消息中间件等进行实现。传统日志系统虽然功能完善,但对于日志量不会太大、实时性要求高、日志系统并非核心业务(投入成本不想太大)等业务场景或者中小型企业来说,往往过重。
为此,本申请提供一种日志分析方法、装置、系统及可读存储介质,用于降低日志分析的复杂性,提高日志分析的实时性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1和图2,其中,图1示出了本申请实施例提供的一种日志分析方法的流程图,图2示出了本申请实施例提供的一种日志分析系统的结构示意图。本申请实施例提供的一种日志分析方法,应用于日志处理中心,可以包括:
S11:接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志。
在本申请中,可以预先在日志探测端中部署日志记录工具,其中,这里提及的日志探测端具体即为待进行日志收集和探测的一端,其具体可以指的是第一业务系统、网站、客户端等;日志记录工具为独立的jar包,只需在相应的业务工程中引用即可,能够方便、无侵入的收集日志探测端的日志并将日志写入日志探测端的本地磁盘文件。日志记录工具能够快捷、方便地集成到不同的Java工程中,用于处理业务日志数据,且其可以动态指定单个日志文件最大容量、批量写入数据大小、数据文件有效时长、数据文件定期清理时间周期、数据文件输出目录等参数。在处理日志数据的同时,能够灵活处理不通业务场景下不同硬件环境中对内存的要求,避免造成数据文件堆积,内存溢出。
在日志探测端部署完日志记录工具之后,可以利用所部署的日志记录工具而收集日志探测端的日志,并可以将日志记录在日志探测端的本地磁盘中,具体地,可以记录在日志探测端本地磁盘的日志文件(一个日志文件中可以记录有多条日志)中。通过将日志探测端的日志记录在本地磁盘中可以利用本地磁盘对日志起到缓存和持久化的作用,以缓解日志处理中心的日志接收压力,并防止日志发生丢失,而且通过利用日志探测端的本地磁盘进行日志存储可以减少消息中间件等的使用,以便于降低日志分析的复杂性。
在将日志记录在日志探测端的本地磁盘上之后,可以对日志探测端的本地磁盘上的日志文件进行探测,并将从日志探测端的本地磁盘上的日志文件中探取到的日志通过利用Netty传输至日志处理中心,以使得日志处理中心可以接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志。
其中,Netty是一个利用Java的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的API的客户端/服务器框架。它活跃和成长于用户社区,像大型公司Facebook和Instagram以及流行开源项目如Infinispan、HornetQ、Vert.x、ApacheCassandra和Elasticsearch等,都利用其强大的对于网络抽象的核心代码。具有并发高、传输快、封装好易集成等优点。本申请正是利用Netty的这些特点实现日志的收集和传输,从而实现日志分析的第一步:日志的集中化管理。
S12:将日志写入日志处理中心的本地磁盘中,并从日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对最新日志进行处理,以得到第一处理日志。
日志处理中心在接收到由Netty传输的在日志探测端的本地磁盘上探测到的日志后,将接收到的日志写入日志处理中心的本地磁盘中,以利用日志处理中心的本地磁盘对接收到的日志起到缓存和持久化的作用,以缓解后续进行日志分析的系统的压力,并防止日志发生丢失,而且减少消息中间件等的使用,以便于降低日志分析的复杂性。
考虑到日志处理中心可能会不停的接收由Netty传输的日志探测端的日志,因此,日志处理中心可以定时从日志处理中心自身的本地磁盘上获取最新日志,以通过每次都进行最新日志的获取而实现有序地进行日志获取和日志处理,从而提高日志处理分析的可靠性。
日志处理中心在从自身的本地磁盘上获取最新日志之后,可以根据本地ClickHouse对日志的需求而对获取到的最新日志进行处理,以得到第一处理日志。通过对最新日志进行处理可以使得最新日志能够更好地满足本地ClickHouse对日志的需求,从而便于本地ClickHouse可以更好地对处理得到的第一处理日志进行分析。
S13:将第一处理日志发送至本地ClickHouse,由本地ClickHouse对第一处理日志进行分析。
日志处理中心在处理得到第一处理日志之后,可以将第一处理日志发送至本地ClickHouse,通过原生JDBC(Java Database Connectivity,Java数据库连接)驱动连接,批量异步写入第一处理日志。由本地ClickHouse对接收到的第一处理日志进行分析,具体地,挖掘日志信息,对第一处理日志进行各个维度的分析。其中,本地ClickHouse也即指的是位于本地(可以是针对日志处理中心而言)的ClickHouse。另外,本地ClickHouse在对第一处理日志进行分析之后,可以将日志分析结果发送至第二业务系统(具体即为下一轮要用到日志分析结果的业务系统),以使得第二业务系统可以利用日志分析结果进行后续处理。
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。ClickHouse是真正的列式数据库管理系统,具有高数据压缩、多核心并行处理、向量引擎、实时数据更新、支持近似计算等特性。ClickHouse性能强悍,一个不太复杂的查询在单个服务器上大约能够以2-10GB/s(未压缩)的速度进行处理(对于简单的查询,速度可以达到30GB/s),写入速度大约为50到200MB/s。基于ClickHouse负责对本地日志数据进行实时或离线分析,结合业务逻辑提取有价值的信息供其他业务组件进行调用。
需要说明的是,ClickHouse在数据分析方面具有明显的如下优势:
1)提供了极致的查询性能:开源公开benchmark显示比传统方法快100-1000倍,提供50MB-200MB/s的高吞吐实时导入能力;
2)以极低的成本存储海量数据:借助于精心设计的列存、高效的数据压缩算法,提供高达10倍的压缩比,大幅提升单机数据存储和计算能力,大幅降低使用成本,是构建海量数据仓库的绝佳方案;
3)简单灵活又不失强大:提供完善SQL支持,上手十分简单;提供json、map、array等灵活数据类型适配业务快速变化;同时支持近似计算、概率数据结构等应对海量数据处理。
相比于开源社区的其他几项分析型技术(例如Druid、Presto、Impala、Kylin、ElasticSearch等),ClickHouse更是一整套完善的解决方案,它自身包含了存储和计算能力(无需额外依赖其他存储组件),完全自主实现了高可用,而且支持完整的SQL语法包含JOIN等,技术上有着明显的优势。相比于hadoop体系,以数据库的方式来做大数据处理更加简单易用,学习成本低且灵活度高。
通过上述过程可知,本申请将Netty的高性能、高并发异步消息处理能力和ClickHouse的强悍存储能力、方便快速的聚合、预聚合以及强大的数据库引擎和数据分析能力相结合,基于Java构建一个轻量级的具备日志收集和日志分析能力的日志分析框架,以灵活应对项目开发中的日志数据处理和数据分析。
本申请公开的上述技术方案,接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志,由于Netty具有并发高、传输快、封装好易集成等优点,因此,利用Netty进行日志传输则可以降低日志传输的复杂性,提高日志分析的实时性。日志处理中心在接收到Netty传输的日志后,将日志写入本地磁盘中,以利用本地磁盘对日志起到缓存和持久化的作用,从而提高日志分析的可靠性,并减少消息中间件等的使用,实现日志分析的轻量化,并通过从日志处理中心的本地磁盘中获取最新日志对最新日志进行处理而实现对日志的有序处理,提高日志处理和分析的可靠性。而且日志处理中心将处理后的日志发送至ClickHouse,由ClickHouse对处理后的日志进行分析,由于ClickHouse具有高数据压缩、多核心并行处理、向量引擎、实时数据更新、支持近似计算、简单灵活、强悍存储性能等特性,因此,则可以提高对日志分析的实时性,降低日志分析的复杂性。因此,通过本申请可以很好地解决现有日志分析系统所存在的技术门槛高、部署环境苛刻、维护成本高、实时性差、过于重量级等问题。
本申请实施例提供的一种日志分析方法,第一处理日志发送至本地ClickHouse,可以包括:
判断第一处理日志的数量在预设时间长度内是否达到阈值;
若是,则将数量达到阈值的第一处理日志发送至本地ClickHouse;
若否,则将预设时间长度内的第一处理日志发送至本地ClickHouse。
在本申请中,日志处理中心在将日益处理日志发送至本地ClickHouse时,可以采用定时写入+阈值(具体可以为50万条日志,当然,也可以为其他值,本申请对此不做限定)写入两种机制进行第一处理日志的写入,即间隔一段时间定时将第一处理日志批量写入本地ClickHouse+日志处理中心内存中第一处理日志超过一定阈值时也会触发第一处理日志批量写入,以此来保障内存限度,避免内存溢出。同时,批量写入也符合ClickHouse最优使用原则,使并发处理能力大大提高。
具体地,在采用定时写入+阈值写入两种机制进行第一处理日志写入时,具体判断第一处理日志的数量在预设时间长度(该预设时间长度即为上述提及的定时)内是否达到阈值,若第一处理日志的数量在预设时间长度内达到阈值,则将数量达到阈值的第一处理日志发送至本地ClickHouse,即采用阈值写入这一种机制进行第一处理日志的写入,若第一处理日志的数量在预设时间长度内未达到阈值,则将预设时间长度内的第一处理日志发送至本地ClickHouse,即在未达到阈值时则采用定时写入这一机制进行第一处理日志的写入。
通过上述方式可以实现第一处理日志的批量写入,以使得本地ClickHouse可以对批量写入的第一处理日志进行并发分析。
参见图3,其示出了本申请实施例提供的另一种日志分析方法的流程图。本申请实施例提供的一种日志分析方法,根据本地ClickHouse对最新日志进行处理,以得到第一处理日志,可以包括:
根据本地ClickHouse对日志的格式需求,利用日志加工处理器对各条最新日志进行加工处理,以得到第一加工处理日志;
根据本地ClickHouse的日志对接方式,利用日志处理器对第一加工处理日志进行转换,以得到第一处理日志。
在本申请中,日志处理中心在根据本地ClickHouse对最新日志进行处理,以得到第一处理日志时,首先,可以根据本地ClickHouse对日志的格式需求而利用日志处理中心内部的日志加工处理器对各条最新日志进行加工处理,以得到第一加工处理日志,例如:对最新日志中的某些字段进行替换、转化、扩展等,然后,可以根据本地ClickHouse的日志对接方式而利用日志处理中心中的日志处理器对第一加工处理日志进行转换,以得到第一处理日志,也即利用日志处理器通过对第一加工处理日志进行处理而适配本地ClickHouse的日志对接方式,从而更好地满足本地ClickHouse对日志的需求。
本申请实施例提供的一种日志分析方法,还可以包括:
根据第三方日志分析系统对最新日志进行处理,以得到第二处理日志;
将第二处理日志发送至第三方日志分析系统,由第三方日志分析系统对第二处理日志进行分析。
在本申请中,除了利用本地ClickHouse对日志进行分析之外,还可以利用第三方日志分析系统对日志进行分析,其中,第三方日志分析系统具体可以为ClickHouse、Kafka、Syslog、ActiveMQ等,且第三方日志分析系统具体可以为一个或者多个,本申请对第三方日志分析系统的个数不做任何限定。
具体地,日志处理中心可以根据第三方日志分析系统对最新日志进行处理,以得到适配第三方日志分析系统的第二处理日志,然后,可以将第二处理日志发送至第三方日志分析系统,由第三方日志分析系统对第二处理日志进行分析。
其中,当第三方日志分析系统为ClickHouse时,则可以采用与本地ClickHouse类似的方式(即采用定时写入+阈值)方式将处理得到的第二处理日志批量发送至作为第三方日志分析系统的ClickHouse;当第三方日志分析系统为除ClickHouse之外的其他系统时,则日志处理中心可以实时将处理得到的第二处理日志发送至第三方分析系统,而由第三方分析系统进行分析。
本申请实施例提供的一种日志分析方法,将日志写入日志处理中心的本地磁盘中,可以包括:
利用日志处理中心中的日志记录工具将日志写入日志处理中心的本地磁盘中。
在本申请中,可以在日志处理中心中部署日志记录工具,利用日志处理中心中所部署的日志记录工具来将接收到的由Netty传输的日志写入到日志处理中心的本地磁盘中。需要说明的是,日志处理中心中所部署的日志记录工具与日志探测端中所部署的日志记录工具的功能和作用类似,在此不再赘述。
本申请实施例提供的一种日志分析方法,利用日志处理中心中的日志记录工具将日志写入日志处理中心的本地磁盘中,可以包括:
利用日志记录工具将日志写入日志处理中心的本地磁盘中相应的日志文件中;
从日志处理中心的本地磁盘上获取最新日志,可以包括:
从日志处理中心的本地磁盘中获取最新生成的日志文件,并将最新生成的日志文件中的日志作为最新日志。
在本申请中,在利用日志处理中心中的日志记录工具将日志写入日志处理中心的本地磁盘中时,具体可以利用日志处理中心中所部署的日志记录工具来将日志写入日志处理中心的本地磁盘中相应的日志文件中,例如可以每隔几分钟生成一个日志文件,并利用日志记录工具将日志写入所生成的对应的日志文件中,以便于实现对日志的获取和处理等。
在上述基础上,在从日志处理中心的本地磁盘上获取最新日志时,具体可以从日志处理中心的本地磁盘中获取最新生成的日志文件,并将最新生成的日志文件中的日志作为最新日志来进行后续处理。通过对最新日志文件的获取可以实现日志的有序获取和处理,从而避免进行日志遗漏,进而提高日志获取和处理的有效性和可靠性。
参见图4,其示出了本申请实施例提供的又一种日志分析方法的流程图。本申请实施例提供的一种日志分析方法,接收在日志探测端的本地磁盘上进行探测的日志,可以包括:
接收日志探测端中的日志探针在日志探测端的本地磁盘上进行探测并进行解析后的日志。
日志处理中心在接收在日志探测端的本地磁盘上进行探测的日志时,具体可以接收日志探测端中的日志探针在日志探测端的本地磁盘上进行探测并进行解析后的日志,也即可以预先在日志探测端中部署日志探针,利用日志探针探取日志探测端的本地磁盘上的日志并对探取到的日志进行解析,然后,将解析后的日志通过Netty发送至日志处理中心。
其中,日志探针对独立Java进程,集成时只需独立部署在宿主机中即可,日志探针能够自动探取本地磁盘中的日志文件,并进行解析,然后,将解析后的日志通过Netty发送至日志处理中心。需要说明的是,这里提及的解析具体可以为过滤掉无效日志等。
需要说明的是,日志探针负责日志文件探取,解析日志文件后将日志通过netty发送至日志处理中心。部署简单灵活,独立运行,不需要依赖其他组件。支持动态部署,部署时,指定对端(日志中心ip+端口)即可自动完成日志探测,发送。主体采用Java实现,内部使用多线程机制并发处理日志信息。由于使用磁盘来暂存日志,天然具有高效、安全性,探针运行仅需占用少量的cpu资源。同时,日志探针内部有内存检测、失效文件清理、超内存文件清理等保护机制,避免日志文件占用大量内存导致内存溢出,影响其他进程。
本申请实施例还提供了一种日志分析装置,应用于日志处理中心,参见图5,其示出了本申请实施例提供的一种日志分析装置的结构示意图,可以包括:
接收模块51,用于接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;
写入模块52,用于将日志写入日志处理中心的本地磁盘中,并从日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对最新日志进行处理,以得到第一处理日志;
发送模块53,用于将第一处理日志发送至本地ClickHouse,由本地ClickHouse对第一处理日志进行分析。
本申请实施例提供的一种日志分析装置,发送模块53可以包括:
判断单元,用于判断第一处理日志的数量在预设时间长度内是否达到阈值;
第一发送单元,用于若第一处理日志的数量在预设时间长度内达到阈值,则将数量达到阈值的第一处理日志发送至本地ClickHouse;
第二发送单元,用于若第一处理日志的数量在预设时间长度内未达到阈值,则将预设时间长度内的第一处理日志发送至本地ClickHouse。
本申请实施例提供的一种日志分析装置,写入模块52可以包括:
加工处理单元,用于根据本地ClickHouse对日志的格式需求,利用日志加工处理器对各条最新日志进行加工处理,以得到第一加工处理日志;
转换单元,用于根据本地ClickHouse的日志对接方式,利用日志处理器对第一加工处理日志进行转换,以得到第一处理日志。
本申请实施例提供的一种日志分析装置,还可以包括:
处理模块,用于根据第三方日志分析系统对最新日志进行处理,以得到第二处理日志;
发送模块,用于将第二处理日志发送至第三方日志分析系统,由第三方日志分析系统对第二处理日志进行分析。
本申请实施例提供的一种日志分析装置,写入模块52可以包括:
写入单元,用于利用日志处理中心中的日志记录工具将日志写入日志处理中心的本地磁盘中。
本申请实施例提供的一种日志分析装置,写入单元可以包括:
写入子单元,用于利用日志记录工具将日志写入日志处理中心的本地磁盘中相应的日志文件中;
写入模块52可以包括:
获取单元,用于从日志处理中心的本地磁盘中获取最新生成的日志文件,并将最新生成的日志文件中的日志作为最新日志。
本申请实施例提供的一种日志分析装置,接收模块51可以包括:
接收单元,用于接收日志探测端中的日志探针在日志探测端的本地磁盘上进行探测并进行解析后的日志。
本申请实施例还提供了一种日志分析系统,参见图2,其示出了本申请实施例提供的日志分析系统的结构示意图,可以包括Netty、日志处理中心、本地ClickHouse,其中:
Netty,用于接收在日志探测端的本地磁盘上探测到的日志,并将日志传输至日志处理中心;
日志处理中心,用于执行上述任一种日志分析方法的步骤;
本地ClickHouse,用于接收日志处理中心发送的第一处理日志,并对第一处理日志进行分析。
本申请实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;将日志写入日志处理中心的本地磁盘中,并从日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对最新日志进行处理,以得到第一处理日志;将第一处理日志发送至本地ClickHouse,由本地ClickHouse对第一处理日志进行分析。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的一种日志分析装置、系统及可读存储介质中相关部分的说明可以参见本申请实施例提供的一种日志分析方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种日志分析方法,其特征在于,应用于日志处理中心,包括:
接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;
将所述日志写入所述日志处理中心的本地磁盘中,并从所述日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对所述最新日志进行处理,以得到第一处理日志;
将所述第一处理日志发送至所述本地ClickHouse,由所述本地ClickHouse对所述第一处理日志进行分析。
2.根据权利要求1所述的日志分析方法,其特征在于,将所述第一处理日志发送至所述本地ClickHouse,包括:
判断所述第一处理日志的数量在预设时间长度内是否达到阈值;
若是,则将数量达到所述阈值的所述第一处理日志发送至所述本地ClickHouse;
若否,则将所述预设时间长度内的所述第一处理日志发送至所述本地ClickHouse。
3.根据权利要求1所述的日志分析方法,其特征在于,根据所述本地ClickHouse对所述最新日志进行处理,以得到第一处理日志,包括:
根据所述本地ClickHouse对日志的格式需求,利用日志加工处理器对各条所述最新日志进行加工处理,以得到第一加工处理日志;
根据所述本地ClickHouse的日志对接方式,利用日志处理器对所述第一加工处理日志进行转换,以得到所述第一处理日志。
4.根据权利要求1所述的日志分析方法,其特征在于,还包括:
根据第三方日志分析系统对所述最新日志进行处理,以得到第二处理日志;
将所述第二处理日志发送至所述第三方日志分析系统,由所述第三方日志分析系统对所述第二处理日志进行分析。
5.根据权利要求1所述的日志分析方法,其特征在于,将所述日志写入所述日志处理中心的本地磁盘中,包括:
利用所述日志处理中心中的日志记录工具将所述日志写入所述日志处理中心的本地磁盘中。
6.根据权利要求5所述的日志分析方法,其特征在于,利用所述日志处理中心中的日志记录工具将所述日志写入所述日志处理中心的本地磁盘中,包括:
利用所述日志记录工具将所述日志写入所述日志处理中心的本地磁盘中相应的日志文件中;
从所述日志处理中心的本地磁盘上获取最新日志,包括:
从所述日志处理中心的本地磁盘中获取最新生成的日志文件,并将所述最新生成的日志文件中的日志作为所述最新日志。
7.根据权利要求1所述的日志分析方法,其特征在于,接收在日志探测端的本地磁盘上进行探测的日志,包括:
接收所述日志探测端中的日志探针在所述日志探测端的本地磁盘上进行探测并进行解析后的日志。
8.一种日志分析装置,其特征在于,应用于日志处理中心,包括:
接收模块,用于接收在日志探测端的本地磁盘上进行探测且由Netty进行传输的日志;
写入模块,用于将所述日志写入所述日志处理中心的本地磁盘中,并从所述日志处理中心的本地磁盘上获取最新日志,且根据本地ClickHouse对所述最新日志进行处理,以得到第一处理日志;
发送模块,用于将所述第一处理日志发送至所述本地ClickHouse,由所述本地ClickHouse对所述第一处理日志进行分析。
9.一种日志分析系统,其特征在于,包括Netty、日志处理中心、本地ClickHouse,其中:
所述Netty,用于接收在日志探测端的本地磁盘上探测到的日志,并将所述日志传输至所述日志处理中心;
所述日志处理中心,用于执行如权利要求1至7任一项所述的日志分析方法的步骤;
所述本地ClickHouse,用于接收所述日志处理中心发送的第一处理日志,并对所述第一处理日志进行分析。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的日志分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591941.3A CN114168445A (zh) | 2021-12-23 | 2021-12-23 | 一种日志分析方法、装置、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111591941.3A CN114168445A (zh) | 2021-12-23 | 2021-12-23 | 一种日志分析方法、装置、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168445A true CN114168445A (zh) | 2022-03-11 |
Family
ID=80488000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111591941.3A Pending CN114168445A (zh) | 2021-12-23 | 2021-12-23 | 一种日志分析方法、装置、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168445A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033335A (zh) * | 2023-10-09 | 2023-11-10 | 武汉博易讯信息科技有限公司 | 基于ClickHouse的syslog日志处理方法、系统、设备及介质 |
-
2021
- 2021-12-23 CN CN202111591941.3A patent/CN114168445A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117033335A (zh) * | 2023-10-09 | 2023-11-10 | 武汉博易讯信息科技有限公司 | 基于ClickHouse的syslog日志处理方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
US11182098B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
US11836533B2 (en) | Automated reconfiguration of real time data stream processing | |
CN110362544B (zh) | 日志处理系统、日志处理方法、终端及存储介质 | |
US12008027B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
US9378053B2 (en) | Generating map task output with version information during map task execution and executing reduce tasks using the output including version information | |
CN108228322B (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN111177237B (zh) | 一种数据处理系统、方法及装置 | |
US10657099B1 (en) | Systems and methods for transformation and analysis of logfile data | |
WO2023273544A1 (zh) | 日志文件的存储方法、装置、设备和存储介质 | |
Dean | Software engineering advice from building large-scale distributed systems | |
CN108228432A (zh) | 一种分布式链路跟踪、分析方法及服务器、全局调度器 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN114168445A (zh) | 一种日志分析方法、装置、系统及可读存储介质 | |
CN107423188B (zh) | 日志处理方法及设备 | |
CN113297245A (zh) | 获取执行信息的方法及装置 | |
CN115022402B (zh) | 一种基于一栈式集成技术的agent采集方法及系统 | |
CN115866331A (zh) | 视频抽帧分析方法、装置、设备及存储介质 | |
WO2017091774A1 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
CN113778777A (zh) | 一种日志回放方法和装置 | |
CN112804331B (zh) | 一种基于消息总线的电能表数据处理方法、系统和电能表 | |
Li et al. | Data aggregation and anomaly detection system for isomerism and heterogeneous data | |
CN111753010B (zh) | 铁路接触网的数据采集网络架构及实现方法 | |
CN114780578A (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 |