核心概念

Open Source Components

Filebeat

定位:轻量级日志采集器
描述:安装在容器节点上的开源日志采集组件,负责对指定路径的日志文件进行实时监控。通过输入模块采集日志数据,进行处理后通过输出模块转发日志到 Kafka,或直接发送到存储组件。支持多行日志聚合和字段过滤等预处理能力。

Elasticsearch

定位:分布式搜索与分析引擎
描述:基于 Lucene 的全文搜索引擎,以 JSON 文档格式存储日志数据,提供近实时的搜索能力。支持动态映射实现字段类型自动识别,通过倒排索引实现快速关键词检索,适用于日志搜索和监控告警。

ClickHouse

定位:列式分析型数据库
描述:面向 OLAP 场景的高性能列式存储数据库,采用 MergeTree 引擎实现 PB 级日志数据存储。支持高速聚合查询、时间分区和数据 TTL 策略,适合批量计算场景下的日志分析与统计报表。

Kafka

定位:分布式消息队列
描述:作为日志管道系统的消息中间件,提供高吞吐的日志缓冲能力。当 Elasticsearch 集群处理瓶颈时,通过 Topic 接收 Filebeat 发送的日志数据,实现流量削峰和异步消费,保障日志采集端的稳定性。

Core Functionality Concepts

Log Collection Pipeline

描述:日志数据从产生到存储的完整链路,包含四个阶段:采集 -> 传输 -> 缓冲 -> 存储。支持两种管道模式:

  • 直写模式:Filebeat → Elasticsearch/ClickHouse
  • 缓冲模式:Filebeat → Kafka → Elasticsearch

Index

描述:Elasticsearch 中的逻辑数据分区单元,类似数据库中的表结构。支持基于时间的滚动索引创建(如 logstash-2023.10.01),并通过索引生命周期管理(ILM)实现自动的冷热分层存储。

Shards and Replicas

描述

  • Shard:Elasticsearch 对索引进行水平拆分后形成的物理存储单元,支持分布式扩展。
  • Replica:每个 Shard 的副本,提供数据高可用和查询负载均衡。

Columnar Storage

描述:ClickHouse 的核心存储机制,按列压缩存储数据,显著降低 I/O 消耗。支持以下特性:

  • 向量化查询执行引擎
  • 数据分区与分片
  • 物化视图实现预聚合

Key Technical Terms

Ingest Pipeline

描述:Elasticsearch 中的数据预处理管道,支持在写入前执行字段重命名、Grok 解析和条件逻辑等 ETL 操作。

Consumer Group

描述:Kafka 的并行消费机制,同一消费者组内的多个实例可并行消费不同分区的消息,保证消息的有序处理。

TTL (Time To Live)

描述:数据生命周期策略,支持两种实现方式:

  • Elasticsearch:通过 ILM 策略自动删除过期索引。
  • ClickHouse:通过 TTL 表达式自动删除表分区。

Replication Factor

描述:Kafka Topic 级别的数据冗余配置,定义消息在不同 Broker 上的副本数量,提高数据可靠性。

Data Flow Model