目录
ELK 是三个开源工具的首字母缩写,分别代表 Elasticsearch、Logstash 和 Kibana。这三个工具共同组成了一套完整的日志收集、处理、存储、分析和可视化平台,广泛应用于分布式系统的日志管理、问题排查、数据分析等场景。随着 Beats 工具集的加入,ELK 有时也被扩展为 ELK Stack 或 Elastic Stack。
一、ELK 的核心组件与定位
ELK 栈的四个核心组件(Elasticsearch、Logstash、Kibana、Beats)各司其职,形成完整的日志处理流水线:
| 组件 | 功能定位 | 核心作用 |
|---|---|---|
| Elasticsearch | 分布式搜索引擎,基于 Lucene 构建,擅长存储和快速检索结构化 / 非结构化数据 | 日志数据的存储中心和查询引擎 |
| Logstash | 数据处理管道,支持数据的采集、过滤、转换和输出 | 日志的清洗、转换和路由 |
| Kibana | 数据可视化平台,与 Elasticsearch 深度集成,提供仪表盘、图表和搜索界面 | 日志的可视化分析和交互式查询 |
| Beats | 轻量级数据采集器(如 Filebeat 采集日志、Metricbeat 采集指标) | 高效、低资源消耗地收集原始日志数据 |
二、各组件详解
1. Elasticsearch:日志存储与检索核心
Elasticsearch(简称 ES)是整个 ELK 栈的 “大脑”,负责存储所有日志数据并提供快速查询能力。
核心特性:
- 分布式架构:数据自动分片(Shard)并在集群中分布式存储,支持水平扩展;
- 近实时搜索:数据写入后可在秒级内被检索,满足实时日志分析需求;
- 全文检索:基于 Lucene 的倒排索引,支持模糊匹配、分词查询、复杂条件过滤;
- JSON 文档存储:日志数据以 JSON 格式存储,字段类型自动推断(字符串、数字、时间等);
- 高可用性:通过副本(Replica)机制实现数据冗余,节点故障时自动切换。
关键概念:
- 索引(Index):类似数据库中的 “表”,用于存储一类日志数据(如
nginx-logs-2023-10表示 2023 年 10 月的 Nginx 日志); - 文档(Document):索引中的单条日志记录,以 JSON 格式表示;
- 分片(Shard):索引的拆分单元,每个分片是一个独立的 Lucene 索引,分布在不同节点;
- 映射(Mapping):定义文档字段的类型和属性(如时间字段、关键字字段),类似数据库的 “表结构”。
2. Logstash:日志处理管道
Logstash 是一个开源的数据处理引擎,专注于日志的 “采集 - 过滤 - 转换 - 输出” 流程,可处理多种来源的日志并标准化格式。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



