CN113010483A - 一种海量日志管理方法和系统 - Google Patents

一种海量日志管理方法和系统 Download PDF

Info

Publication number
CN113010483A
CN113010483A CN202011305651.3A CN202011305651A CN113010483A CN 113010483 A CN113010483 A CN 113010483A CN 202011305651 A CN202011305651 A CN 202011305651A CN 113010483 A CN113010483 A CN 113010483A
Authority
CN
China
Prior art keywords
data
processing
module
kafka
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.)
Pending
Application number
CN202011305651.3A
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.)
Cloudwise Beijing Technology Co Ltd
Original Assignee
Cloudwise Beijing Technology 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 Cloudwise Beijing Technology Co Ltd filed Critical Cloudwise Beijing Technology Co Ltd
Priority to CN202011305651.3A priority Critical patent/CN113010483A/zh
Publication of CN113010483A publication Critical patent/CN113010483A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种海量日志管理方法和系统。方法包括步骤:S1、采集器采集日志数据到Kafka;S2、通过数据处理模块定义的数据处理worker从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;S3、处理完成后的处理后数据存于预定位置;S4、通过预定数据模型调用处理后数据供使用。系统包括:Kafka平台;采集器,用于采集日志数据到Kafka;数据处理模块,用于定义数据处理worker,从Kafka中消费日志数据进行处理;数据存储模块,用于存储处理完成后的处理后数据;预定数据模型,用于调用处理后数据供使用。借此,可以实时准确地采集处理分析海量日志数据,整个流程(从采集到入库)能够做到低延迟(毫秒级),保证数据实时展现,日志数据准确不会丢失。

Description

一种海量日志管理方法和系统
技术领域
本发明属于运维领域,具体涉及一种海量日志管理方法和系统,主要用于实时采集、处理和分析海量日志。
背景技术
日志可以记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。为了对日志进行更好的管理,以便更快更好地发挥日志的作用,日志的管理经过了如下的发展历程:
日志处理v1.0
对于一个简单的日志场景,是通过登录目标机器使用shell(命令解析器)查看某一时间段的目标日志文件中是否存在错误。这种做法有几个缺陷:
1、安全性低,日志查询人员需要知道目标机器的登录方式。
2、效率低,按照时间段或者关键字查找文件内容比较复杂,要求使用者对shell命令很熟悉。
3、对目标机器的性能影响比较大。
4、日志数据不能够历史溯源。
日志处理v2.0
随着应用的复杂性的提高,应用规模的扩大,日志分析往往是针对成百上千台应用服务器。此时离线批处理的日志处理方案诞生了,比如hadoop。但是这种处理方案,对于日志处理的实时性比较差。
日志处理v3.0
此后随着数据处理实时性需求的提升,出现很多数据流处理实时框架,比如SparkStreaming(Spark Streaming是核心Spark API的扩展,能够实现对实时数据流的流式处理)、Storm(Storm是Twitter开源的分布式实时大数据处理框架)、Flume(Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统)、Flink(Flink是由Apache软件基金会开发的开源流处理框架)。但是这些开源框架又会引入很多概念,使得概念过于复杂,对于简单的使用场景又不够轻量。
相对轻量级的ELK(ELK是Elasticsearch、Logstash、Kibana的简称,Elasticsearch是一个搜索和分析引擎,Logstash是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如Elasticsearch等“存储库”中,Kibana则可以让用户在Elasticsearch中使用图形和图表对数据进行可视化)提供整个日志处理的完整框架,包含了采集、处理和日志可视化。
但是Elastic消耗系统资源又比较高,对系统内存要求也比较高。而且在10T数据场景下查询的效率也不高,基本是在秒级左右。并且采集端logstash或者Filebeat的收集、过滤都是在服务器上完成的,这就造成服务器上占用系统资源较高、性能方面不是很好,调试、跟踪困难,对异常的处理也困难。
综上所述,目前需要一种对海量日志数据的更优处理方案,保证实时性和准确性。
发明内容
为了解决现有技术的上述问题,一方面,本发明提供一种海量日志管理方法,可以实时准确地采集处理分析海量日志数据,整个流程(从采集到入库)能够做到低延迟(毫秒级),保证数据实时展现,日志数据准确不会丢失。
为了达到上述目的,本发明采用的主要技术方案包括:
一种海量日志管理方法,其包括如下步骤:
S1、采集器采集日志数据到Kafka;
S2、通过数据处理模块定义的流式数据处理worker从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
S3、处理完成后的处理后数据存于预定位置;包括存入ClickHouse或者将处理完成的处理后数据再放入Kafka供后续处理(此处的后续处理可以是将流式数据从Kafka接入数据处理模块继续处理);
S4、通过预定数据模型调用处理后数据供使用。包括从ClickHouse查询处理后数据或通过API接口供外部调用处理后数据。
借助上述方案,本发明的海量日志管理方法,其可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。
本发明一个实施例的海量日志管理方法,步骤S1中:采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理。这样可以保证对服务器端的资源占用足够小,对系统影响也会很小。
本发明一个实施例的海量日志管理方法,步骤S2中:数据处理模块通过若干处理组件来定义数据处理worker。处理组件包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件。借此,用户可以根据自身需要,定义出最适合自己的数据处理worker,极大地提高效率。
本发明一个实施例的海量日志管理方法,步骤S2中,通过页面拖拽各预定处理组件定义出预定的数据处理worker的处理步骤。
本发明一个实施例的海量日志管理方法,步骤S2中:数据处理worker能够水平扩展。
本发明一个实施例的海量日志管理方法,步骤S3中:数据存储采用ClickHouse,用户可以定义存储表结构、数据存放的ClickHouse集群位置和/或历史数据保留时长。
本发明一个实施例的海量日志管理方法,步骤S4中:预定数据模型能够通过输入类SQL和模板引擎语法定义查询模型。
本发明一个实施例的海量日志管理方法,还包括步骤S5、监控:实时监控步骤S1、S2、S3和/或S4,包括输入输出、存储、预定数据模型的请求数。
另一方面,本发明还提供一种海量日志管理系统,可以实时准确地采集处理分析海量日志数据,整个流程(从采集到入库)能够做到低延迟(毫秒级),保证数据实时展现,日志数据准确不会丢失。
为了达到上述目的,本发明采用的主要技术方案包括:
一种海量日志管理系统,其包括:
Kafka平台;
采集器,用于采集日志数据到Kafka;
数据处理模块,用于定义数据处理worker,从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
数据存储模块,用于存储处理完成后的处理后数据,包括存入ClickHouse或者将处理完成的处理后数据再放入Kafka供后续处理(此处的后续处理可以是将流式数据从Kafka接入数据处理模块继续处理);
预定数据模型,用于调用处理后数据供使用。包括从ClickHouse查询处理后数据或通过API接口供外部调用处理后数据。
借助上述方案,本发明的海量日志管理系统,其可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。
本发明一个实施例的海量日志管理系统,其中:
采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理。
本发明一个实施例的海量日志管理系统,其中:
数据处理模块包括若干处理组件,处理组件用来定义数据处理worker。处理组件包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件。
本发明一个实施例的海量日志管理系统,其数据处理模块包括:
页面拖拽模块,用于拖拽各预定处理组件定义出预定的数据处理worker的处理步骤。
本发明一个实施例的海量日志管理系统,数据处理worker能够水平扩展。
本发明一个实施例的海量日志管理系统,包括用于数据存储的ClickHouse模块。ClickHouse模块包括:存储表结构定义模块,用于定义存储表结构;集群位置定义模块,用于定义数据存放的ClickHouse集群位置;和/或历史数据保留时长定义模块,用于定义历史数据保留时长。
本发明一个实施例的海量日志管理系统,预定数据模型包括:SQL类输入模块,用于通过输入类SQL定义查询模型;和模板引擎语法模块,用于通过模板引擎语法定义查询模型。
本发明一个实施例的海量日志管理系统,还包括监控模块,用于实时监控整个处理流程,包括处理时输入输出、存储写入的输入、模型请求数。
本发明的海量日志管理方法和系统,可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。
附图说明
图1为本发明一个实施例的海量日志管理系统的结构示意图;
图2为本发明又一实施例的海量日志管理系统的结构示意图;
图3为本发明一个实施例的海量日志管理系统中处理组件的结构示意图;
图4为本发明又一个实施例的海量日志管理系统的主要逻辑结构示意图;
图5为本发明一个实施例的海量日志管理方法的主要逻辑流程示意图;
图6为本发明一个实施例的海量日志管理方法中定义数据处理worker示意图(既可以定义出a,也可以定义出b,还可以在a与b之间依需转换)。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
参见图1,本发明一个实施例的海量日志管理系统,其包括:
Kafka平台;
采集器,用于采集日志数据到Kafka;
数据处理模块,用于定义数据处理worker,从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
数据存储模块,用于存储处理完成后的处理后数据,本实施例中可以存入ClickHouse;
预定数据模型,用于调用处理后数据供使用。本实施例中可以从ClickHouse查询处理后数据。
借助上述方案,本发明的海量日志管理系统,其可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。
其中,较佳的,采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理。借此,数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。
其中,实施时,可以定义日志处理数据Kafka来源,包括定义采集器发送目标Kafka的位置、topic等参数信息。
其中,较佳的,数据处理模块包括若干处理组件,处理组件用来定义数据处理worker。处理组件包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件(参见图3)。借此,使得处理流程更灵活,适应性更强,准确性更好,效率更高。
其中,较佳的,可以在定义数据处理worker时,指定输入和输出数据源,并且可以指定数据处理worker的处理流程进程运行的集群节点。
其中,较佳的,各处理组件还设置有调试模块,用于对处理组件进行调试,借此,使得数据处理worker的处理流程每一步可以进行单步调试,显示出这一步的输入和输出,极大地方便了数据处理worker的定义,降低了难度,提高了效率。
其中,较佳的,其数据处理模块包括:页面拖拽模块,用于拖拽各预定处理组件定义出预定的数据处理worker的处理步骤。借此,不仅使得处理流程定义非常灵活,而且通过自由拖拽处理组件,使得其处理流程更易定义,且更加直观。
本发明一个实施例的海量日志管理系统,数据处理worker能够水平扩展。
本发明一个实施例的海量日志管理系统,包括用于数据存储的ClickHouse模块。ClickHouse模块包括:存储表结构定义模块,用于定义存储表结构;集群位置定义模块,用于定义数据存放的ClickHouse集群位置;和/或历史数据保留时长定义模块,用于定义历史数据保留时长。
其中,较佳的,日志存储结构定义用于定义日志数据结构化处理之后的存储结构,包括类型、可空非空和索引等信息。
本发明一个实施例的海量日志管理系统,预定数据模型包括:SQL类输入模块,用于通过输入类SQL定义查询模型;和模板引擎语法模块,用于通过模板引擎语法定义查询模型。
其中,较佳的,可以对预定数据模型进行数据模型分析定义,用于定义对外提供数据查询的分析方式,语法类SQL和模板引擎,可以定义参数,可以写条件判断、循环语句。
本发明一个实施例的海量日志管理系统,还包括监控模块,用于实时监控整个处理流程,包括处理时输入输出、存储写入的输入、模型请求数。
其中,较佳的,可以监控系统的实时处理和写入,包含处理的输入数和数据量,正确处理和错误处理的数量和数据量。数据写入的输入数和数据量,正确写入和错误写入的数量和数据量。
其中,较佳的,可以监控系统的基本指标,如数据源的数量、模型数量、24小时查询数量、24小时日志处理接入和输出数量、24小时日志写入数量等。
其中,较佳的,还包括数据处理worker监控,用于监控每个节点上的每个数据处理worker的当前状态。
其中,较佳的,还包括数据存储worker监控,用于监控每个节点上的每个存储worker的当前状态。
其中,较佳的,还包括集群节点监控,用于监控集群中各节点的状态。实施时,可以将系统的各个节点(如各worker)组成集群,做水平线性扩展,通过监控模块提供集群所有节点的状态监控,借此,可以看到单个节点包含的数据处理worker和数据存储worker的数量等。
参见图2,本发明一个实施例的海量日志管理系统,其包括模型分析API,用于在数据模型保存之后对外提供API接口调用。
其中,可以将数据处理模块处理完成的处理后数据再放入Kafka供后续处理。例如通过Kafka对外提供的API接口调用,可以是供外部调用处理后数据。
参见图4,本发明一个优选实施例的海量日志管理系统,其包括采集模块、数据处理存储查询分析模块、应用模块和数据输出/外部集成模块。
其中,采集模块包括数据采集器,数据采集器较佳的设有或连接有下列子模块中的任一个或任几个:用于采集日志文件的日志文件采集子模块、用于采集文本文件的文本文件采集子模块、用于采集其他类型文件的其他类型文件采集子模块、用于采集基础监控指标的基础监控指标采集子模块、用于采集容器环境运维指标的容器环境运维指标采集子模块、用于采集业务指标的业务指标采集子模块、用于采集应用调用链的应用调用链采集子模块、用于采集组件的组件(组件包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件等)采集子模块、用于采集浏览器端数据的浏览器端采集子模块、用于采集移动端数据的移动端采集子模块、数据库/NOSQL子模块。
其中,采集模块的上述各子模块较佳的通过采集器连接数据处理存储查询分析模块(简称为DODP)的Kafka Cluster子模块,即通过采集器将数据转换为Text/JSON后输至Kafka Cluster子模块。
其中,数据处理存储查询分析模块(简称为DODP)包括Kafka Cluster子模块、实时计算子模块、数据存储子模块、查询引擎子模块。
其中,实时计算子模块包括数据处理Worker、数据存储Worker。较佳的,还包括告警Worker、日志归档Worker。
其中,数据处理Worker可以用于包括Grok向JSON的转换处理。
其中,数据处理Worker连接Kafka Cluster子模块,接受来自Kafka Cluster子模块的Text/JSON数据,并将处理后的JSON数据返给Kafka Cluster子模块。
其中,数据存储Worker与Kafka Cluster子模块连接,接受来自Kafka Cluster子模块的JSON数据。
其中,告警Worker与Kafka Cluster子模块连接,接受来自Kafka Cluster子模块的JSON数据。
其中,数据存储子模块与实时计算子模块连接,存储实时计算子模块处理后的数据。
其中,数据存储子模块包括Mysql元数据存储、ClickHouse日志存储和HDFS归档。
其中,ClickHouse日志存储与数据存储Worker连接,接受数据存储Worker输送的数据。HDFS归档与日志归档Worker连接,接受日志归档Worker输送的数据。
其中,查询引擎子模块与数据存储子模块连接,以便调用数据存储子模块的数据。
其中,应用模块包括大屏子模块、可视化子模块、仪表盘子模块、日志搜索子模块、日志管理子模块中的任一个或任几个。较佳的,应用模块通过数据处理存储查询分析模块的API/JDBC接口调用数据。
其中,可以通过大屏子模块、可视化子模块、仪表盘子模块显示结果。
其中,可以通过日志搜索子模块、日志管理子模块进行日志搜索和日志管理。
其中,数据输出/外部集成子模块可以连接数据处理存储查询分析模块,例如,其可以通过批处理应用直接调用JDBC/HTTP API数据,还可以直接连接其中的Kafka Cluster子模块,即可以通过流式应用直接调用Kafka Cluster子模块中的Kafka Consumer数据。
上述实施例中的管理系统,可以依照下述方法对海量日志进行管理(参见图5),包括:
S1、采集模块采集日志数据至Kafka;
S2、通过流式数据处理worker从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
S3、处理完成后的处理后数据存于预定位置;如图4所示,包括存入ClickHouse或者将处理完成的处理后数据再放入Kafka;
S4、通过预定数据模型调用处理后数据供使用。如图4所示,包括从ClickHouse查询处理后数据或通过API/JDBC接口供外部调用处理后数据(例如供应用模块或数据输出/外部集成模块中的批处理应用子模块调用)。
借助上述方案,本发明的海量日志管理方法,其可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。
步骤S1中:采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理。这样可以保证对服务器端的资源占用足够小,对系统影响也会很小。
实施时,可以定义日志处理数据Kafka来源,包括定义采集器发送目标Kafka的位置、topic等参数信息。
步骤S2中:数据处理模块通过若干处理组件来定义数据处理worker。处理组件包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件。借此,使得处理流程更灵活,适应性更强,用户可以根据自身需要,定义出最适合自己的数据处理worker,准确性更好,且可以极大地提高效率(参见图6)。
在定义数据处理worker时,可以指定输入和输出数据源,并且可以指定数据处理worker的处理流程进程运行的集群节点。
其中,还可以对各处理组件进行调试,由于数据处理worker的处理流程每一步可以进行单步调试,并显示出这一步的输入和输出,因此极大地方便了数据处理worker的定义,降低了难度,提高了效率。
步骤S2中,可以通过页面拖拽各预定处理组件定义出预定的数据处理worker的处理步骤(参见图6)。借此,不仅使得处理流程定义非常灵活,而且通过自由拖拽处理组件,使得其处理流程更易定义,且更加直观。
本发明一个实施例的海量日志管理方法,步骤S2中:数据处理worker能够水平扩展。
本发明一个实施例的海量日志管理方法,步骤S3中:数据存储采用ClickHouse,用户可以定义存储表结构、数据存放的ClickHouse集群位置和/或历史数据保留时长。例如可以定义日志数据结构化处理之后的存储类型、可空非空和索引等信息。
本发明一个实施例的海量日志管理方法,步骤S4中:预定数据模型能够通过输入类SQL和模板引擎语法定义查询模型。例如定义对外提供数据查询的分析方式,语法类SQL和模板引擎,可以定义参数,可以写条件判断、循环语句。
本发明一个实施例的海量日志管理方法,还包括步骤S5、监控:实时监控步骤S1、S2、S3和/或S4,包括输入输出、存储、预定数据模型的请求数。
其中,较佳的,可以监控系统的实时处理和写入,包含处理的输入数和数据量,正确处理和错误处理的数量和数据量。数据写入的输入数和数据量,正确写入和错误写入的数量和数据量。
其中,较佳的,可以监控系统的基本指标,如数据源的数量、模型数量、24小时查询数量、24小时日志处理接入和输出数量、24小时日志写入数量等。
可以监控每个节点上的每个数据处理worker的当前状态。
可以监控每个节点上的每个存储worker的当前状态。
还可以监控集群中各节点的状态。实施时,可以将系统的各个节点(如各worker)组成集群,做水平线性扩展,通过监控模块提供集群所有节点的状态监控,借此,可以看到单个节点包含的数据处理worker和数据存储worker的数量等。
本发明的一个较佳实施例的海量日志管理方法,其可以将数据处理模块处理完成的处理后数据再放入Kafka供后续处理,例如可以供外部集成子模块直接调用Kafka子模块中的数据。
综上所述,本发明的海量日志管理方法和系统,可以实时处理海量日志,能够充分地利用系统资源,并且处理端和存储端都能够水平线性扩展。数据采集端因为不处理日志,所以足够轻量,对服务器端影响小。处理流程定义也非常灵活,可以自由拖拽处理组件。日志处理实时性好,延迟很低基本在毫秒级。日志数据不会丢失,保证数据准确。存储端ClickHouse存储压缩比高,插入效率好,查询10亿级数据能快速输出结果,并且可以线性水平扩展。

Claims (10)

1.一种海量日志管理方法,其包括如下步骤:
S1、采集器采集日志数据到Kafka;
S2、通过数据处理模块定义的数据处理worker从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
S3、处理完成后的处理后数据存于预定位置;包括存入ClickHouse或者将处理完成的处理后数据再放入Kafka;
S4、通过预定数据模型调用处理后数据供使用。
2.如权利要求1所述的海量日志管理方法,其特征在于,步骤S1中:采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理。
3.如权利要求1所述的海量日志管理方法,其特征在于,步骤S2中:数据处理模块通过若干处理组件来定义数据处理worker。
4.如权利要求3所述的海量日志管理方法,其特征在于:
步骤S2中,通过页面拖拽各预定处理组件定义出预定的数据处理worker的处理步骤。
5.如权利要求1所述的海量日志管理方法,其特征在于,步骤S2中:数据处理worker能够水平扩展。
6.如权利要求1所述的海量日志管理方法,其特征在于,步骤S3中:数据存储采用ClickHouse,用户可以定义存储表结构、数据存放的ClickHouse集群位置和/或历史数据保留时长。
7.如权利要求1所述的海量日志管理方法,其特征在于,步骤S4中:预定数据模型能够通过输入类SQL和模板引擎语法定义查询模型。
8.如权利要求1所述的海量日志管理方法,其特征在于,还包括步骤S5、监控:实时监控步骤S1、S2、S3和/或S4,包括输入输出、存储、预定数据模型的请求数。
9.一种海量日志管理系统,其特征在于,其包括:
Kafka平台;
采集器,用于采集日志数据到Kafka;
数据处理模块,用于定义数据处理worker,从Kafka中消费日志数据进行处理,包括将非结构化日志数据处理成结构化数据;
数据存储模块,用于存储处理完成后的处理后数据,包括存入ClickHouse或者将处理完成的处理后数据再放入Kafka;
预定数据模型,用于调用处理后数据供使用。
10.如权利要求9所述的海量日志管理系统,其特征在于,还包括下列任一项:
采集器部署于服务器端,仅采集系统日志到Kafka,不做任何处理;
数据处理模块包括若干处理组件,处理组件用来定义数据处理worker,处理组件较佳的包括grok拆分组件、Json转换组件、xml解析组件、csv解析组件、字符串处理组件、日期解析组件;
页面拖拽模块,用于拖拽各预定处理组件定义出预定的数据处理worker的处理步骤;
数据处理worker能够水平扩展;
用于数据存储的ClickHouse模块,ClickHouse模块较佳的包括:存储表结构定义模块,用于定义存储表结构;集群位置定义模块,用于定义数据存放的ClickHouse集群位置;和/或历史数据保留时长定义模块,用于定义历史数据保留时长;
预定数据模型包括:SQL类输入模块,用于通过输入类SQL定义查询模型;和模板引擎语法模块,用于通过模板引擎语法定义查询模型;
监控模块,用于实时监控整个处理流程,包括处理时输入输出、存储写入的输入、模型请求数。
CN202011305651.3A 2020-11-20 2020-11-20 一种海量日志管理方法和系统 Pending CN113010483A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011305651.3A CN113010483A (zh) 2020-11-20 2020-11-20 一种海量日志管理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011305651.3A CN113010483A (zh) 2020-11-20 2020-11-20 一种海量日志管理方法和系统

Publications (1)

Publication Number Publication Date
CN113010483A true CN113010483A (zh) 2021-06-22

Family

ID=76383221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011305651.3A Pending CN113010483A (zh) 2020-11-20 2020-11-20 一种海量日志管理方法和系统

Country Status (1)

Country Link
CN (1) CN113010483A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168672A (zh) * 2021-12-13 2022-03-11 明觉科技(北京)有限公司 日志数据的处理方法、装置、系统以及介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550268A (zh) * 2015-12-10 2016-05-04 江苏曙光信息技术有限公司 大数据流程建模分析引擎
CN106709003A (zh) * 2016-12-23 2017-05-24 长沙理工大学 基于Hadoop的海量日志数据处理方法
CN107577588A (zh) * 2017-09-26 2018-01-12 北京中安智达科技有限公司 一种海量日志数据智能运维系统
CN108037973A (zh) * 2017-12-20 2018-05-15 苏州优圣美智能系统有限公司 一种与数据处理工具交互的数据流建模和处理系统
CN108399199A (zh) * 2018-01-30 2018-08-14 武汉大学 一种基于Spark的应用软件运行日志的收集与服务处理系统及方法
CN108804497A (zh) * 2018-04-02 2018-11-13 北京国电通网络技术有限公司 一种基于日志的大数据分析方法
CN109831316A (zh) * 2018-12-17 2019-05-31 国网浙江省电力有限公司 海量日志实时分析系统、实时分析方法及可读存储介质
CN110245158A (zh) * 2019-06-10 2019-09-17 上海理想信息产业(集团)有限公司 一种基于Flink流计算技术的多源异构数据实时处理系统及方法
CN111078499A (zh) * 2019-12-09 2020-04-28 江苏艾佳家居用品有限公司 一种基于flink的微服务性能实时监控方法
CN111258979A (zh) * 2020-01-16 2020-06-09 山东大学 一种云防护日志系统及其工作方法
CN111680016A (zh) * 2020-05-28 2020-09-18 中国人民银行清算总中心 分布式服务器集群日志数据处理方法、装置及系统
CN111753008A (zh) * 2020-06-30 2020-10-09 珠海迈越信息技术有限公司 一种基于大数据分析的机顶盒收视方法及系统
CN111796983A (zh) * 2020-06-23 2020-10-20 中体彩科技发展有限公司 一种体彩异常交易请求的监控系统及方法
CN111930700A (zh) * 2020-07-13 2020-11-13 车智互联(北京)科技有限公司 一种分布式日志处理方法、服务器、系统和计算设备

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550268A (zh) * 2015-12-10 2016-05-04 江苏曙光信息技术有限公司 大数据流程建模分析引擎
CN106709003A (zh) * 2016-12-23 2017-05-24 长沙理工大学 基于Hadoop的海量日志数据处理方法
CN107577588A (zh) * 2017-09-26 2018-01-12 北京中安智达科技有限公司 一种海量日志数据智能运维系统
CN108037973A (zh) * 2017-12-20 2018-05-15 苏州优圣美智能系统有限公司 一种与数据处理工具交互的数据流建模和处理系统
CN108399199A (zh) * 2018-01-30 2018-08-14 武汉大学 一种基于Spark的应用软件运行日志的收集与服务处理系统及方法
CN108804497A (zh) * 2018-04-02 2018-11-13 北京国电通网络技术有限公司 一种基于日志的大数据分析方法
CN109831316A (zh) * 2018-12-17 2019-05-31 国网浙江省电力有限公司 海量日志实时分析系统、实时分析方法及可读存储介质
CN110245158A (zh) * 2019-06-10 2019-09-17 上海理想信息产业(集团)有限公司 一种基于Flink流计算技术的多源异构数据实时处理系统及方法
CN111078499A (zh) * 2019-12-09 2020-04-28 江苏艾佳家居用品有限公司 一种基于flink的微服务性能实时监控方法
CN111258979A (zh) * 2020-01-16 2020-06-09 山东大学 一种云防护日志系统及其工作方法
CN111680016A (zh) * 2020-05-28 2020-09-18 中国人民银行清算总中心 分布式服务器集群日志数据处理方法、装置及系统
CN111796983A (zh) * 2020-06-23 2020-10-20 中体彩科技发展有限公司 一种体彩异常交易请求的监控系统及方法
CN111753008A (zh) * 2020-06-30 2020-10-09 珠海迈越信息技术有限公司 一种基于大数据分析的机顶盒收视方法及系统
CN111930700A (zh) * 2020-07-13 2020-11-13 车智互联(北京)科技有限公司 一种分布式日志处理方法、服务器、系统和计算设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168672A (zh) * 2021-12-13 2022-03-11 明觉科技(北京)有限公司 日志数据的处理方法、装置、系统以及介质

Similar Documents

Publication Publication Date Title
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
CN107103064B (zh) 数据统计方法及装置
CN111459698A (zh) 一种数据库集群故障自愈方法及装置
CN112347071B (zh) 一种配电网云平台数据融合方法及配电网云平台
KR102067032B1 (ko) 하이브리드 빅데이터 시스템 기반 데이터 처리 방법 및 시스템
CN113608969A (zh) 业务系统运行监控系统及方法
CN112395333B (zh) 用于排查数据异常的方法、装置、电子设备及存储介质
CN116166505B (zh) 金融行业双态it架构的监控平台、方法、存储介质及设备
CN112948492A (zh) 一种数据处理系统、方法、装置、电子设备及存储介质
CN112163017B (zh) 一种知识挖掘系统及方法
CN110351131B (zh) 一种用于分布式链路的监控方法、装置和电子设备
CN113010483A (zh) 一种海量日志管理方法和系统
CN110750582A (zh) 数据处理方法、装置和系统
CN104331517A (zh) 一种检索方法及装置
CN115510139A (zh) 数据查询方法和装置
CN108959041B (zh) 信息发送的方法、服务器及计算机可读存储介质
CN117009371A (zh) 数据血缘分析方法、装置、设备、存储介质及程序产品
CN110928938B (zh) 一种接口中间件系统
CN114185928A (zh) 通用接口对接系统、方法、设备及存储介质
CN111159203B (zh) 一种数据关联分析的方法、平台、电子设备及存储介质
CN113377801A (zh) 数据检验方法、装置、电子设备及计算机存储介质
CN116795663B (zh) 一种跟踪分析trino引擎执行性能的方法
CN110955709A (zh) 一种数据的处理方法、装置及电子设备
CN117609315B (zh) 一种数据处理方法、装置、设备及可读存储介质
CN113553320B (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