核心概念
目录
Open Source ComponentsFilebeatElasticsearchClickHouseKafkaCore Functionality ConceptsLog Collection PipelineIndexShards and ReplicasColumnar StorageKey Technical TermsIngest PipelineConsumer GroupTTL (Time To Live)Replication FactorData Flow ModelOpen 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 上的副本数量,提高数据可靠性。