ELK 日志平台架构介绍
1. 文档说明
适合应用对象
- 运维工程师
- 开发工程师
- 系统管理员
文章方向
本文主要介绍 ELK 日志平台的整体架构、核心组件及日志流转过程,帮助读者快速了解 ELK 平台的整体架构及日志流转过程,为后续部署、日志接入及日志查询提供基础认识。
本文仅介绍 ELK 平台架构,不涉及部署安装、日志接入及日志查询,相关内容请参考后续文档。
2. 什么是 ELK
ELK 是一套成熟的开源日志管理解决方案,由 Elasticsearch、Logstash、Kibana 三个核心组件组成。在生产环境中,通常结合 Filebeat 作为轻量级日志采集器,共同构建完整的日志采集、处理、存储和可视化分析平台。
相比传统服务器逐台查看日志的方式,ELK 可以实现日志统一采集、集中存储、快速检索和可视化分析,大幅提升运维排障及日志分析效率,特别是在制造业场景下,例如 MES、WMS、ERP 等业务系统,会产生大量用户访问、SQL 执行、API 调用等日志,ELK 对这类高日志量系统具有较好的适用性。本文也将结合制造业生产环境进行介绍。
目前 ELK 已广泛应用于:
- 应用系统日志管理
- Linux 系统日志管理
- Web 服务访问日志
- 安全审计日志
- 故障定位与问题分析
- 多服务器统一日志管理
3. ELK 平台整体架构
整个日志平台主要由四个核心组件组成:
- Filebeat:负责采集服务器日志
- Logstash:负责日志解析、过滤和格式转换
- Elasticsearch:负责日志存储及全文检索
- Kibana :负责日志查询及可视化展示

在本平台中,各业务服务器仅负责日志采集,不直接参与日志分析。所有日志统一发送至日志服务器进行集中处理,实现日志统一管理,这样对应的系统运维人员或者是配置管理员以及开发者只需要配置filebeat即可接入elk环境,然后于指定位置进行查询。
各业务服务器通过 Filebeat 将日志发送至日志采集服务器,由 Logstash 统一处理后写入 Elasticsearch。
4. 各组件介绍
4.1 Filebeat ------ 日志采集
Filebeat 是 Elastic 官方提供的轻量级日志采集工具,负责持续监控指定目录中的日志文件,并实时上传至日志平台。Filebeat 会持续监控日志文件变化,以追加读取(Tail)的方式采集新增日志,并逐条发送到日志平台。由于采用 Go 编写,资源占用较低,非常适合作为日志采集器。
主要特点:
- 资源占用低
- 支持断点续传
- 支持多日志目录采集
- 支持 Linux、Windows 等多种操作系统
- 支持模块化配置
- 可直接对接 Elasticsearch 或 Logstash

在本平台中,所有业务服务器均部署 Filebeat,仅需配置日志路径及上传地址即可完成日志接入,如果有日志等级的采集需求(例如只需要error.warning),即参考之后的配置也可达成。
对于部分仅支持 Syslog 输出的网络设备(如交换机、防火墙等),也可通过 rsyslog 将日志统一转发至固定服务器,再通过filebeat进行传输,这个只需要配置相关的日志导出功能就可以,主流的华三、华为、思科交换机,深信服防火墙都支持。
4.2 Logstash ------ 日志处理
Logstash 是 ELK 的日志处理中心,负责对采集到的日志进行统一处理,可以添加固定的字段来与其他日志进行区分,Logstash 本身基于 Java 运行,在日志量较大的情况下对服务器资源有一定要求。因此实际生产环境中一般只承担统一日志管道、日志解析及字段处理等工作,而不会在其中实现过于复杂的业务逻辑,这里不再一一介绍。
主要功能包括:
- 日志解析
- 字段提取
- 数据过滤
- 日志格式转换
- 标签添加
- 字段补充

例如:
原始日志:
text
2026-08-01 ERROR Login Failed User=root
经过 Logstash 解析后:
text
timestamp : 2026-08-01
level : ERROR
user : root
message : Login Failed
统一的数据格式可以提高 Elasticsearch 查询效率,同时方便 Kibana 进行统计分析,这个对于我们来说也更加方便查询,大家一般使用对应字段来进行划分,这点很重要,日志收集及统计都是为了查询服务
4.3 Elasticsearch ------ 日志存储
Elasticsearch 是 ELK 平台的核心组件,负责存储所有日志数据,并提供高性能全文搜索能力。
相比传统数据库,Elasticsearch 更适合处理海量日志数据,es作为中间件大部分应用场景都是为搜索引擎,大家也能感觉到es的全文强力索引功能,对于海量级别的日志搜索手拿把掐,非常适合日志平台使用。
主要特点:
- 全文检索
- 高性能搜索
- 聚合分析
- 分布式存储
- 高可用集群
- 生命周期管理(ILM)

借助 Elasticsearch,可在数百万甚至数十亿条日志中快速定位目标内容。
4.4 Kibana ------ 日志展示
Kibana 是 Elasticsearch 官方提供的可视化分析平台。
主要功能包括:
- 日志查询
- 图形化展示
- Dashboard 仪表盘
- 聚合统计
- CSV 导出
- Discover 日志检索

用户无需编写 Elasticsearch 查询语句,即可完成大部分日志查询及分析工作,Kibana 日常主要使用 KQL(Kibana Query Language)进行日志筛选。最开始可能一脸懵,不过熟悉几个常用字段(如 host.ip、log.file.path、message)后,大部分日志查询都能够快速完成。
5. 日志生命周期管理
随着业务运行时间增长,日志数据会持续增加。
为了保证 Elasticsearch 集群长期稳定运行,本平台采用 ILM(Index Lifecycle Management) 生命周期管理策略,对日志进行自动管理,日志持续增长很容易出现占满ES服务器磁盘的情况,推荐设置60-90天,远古日志会自动清理掉。
生命周期主要包括:
markdown
Hot(热阶段)
│
▼
Warm(温阶段)
│
▼
Cold(冷阶段)
│
▼
Delete(自动删除)

生命周期管理具有以下优点:
- 自动清理历史日志
- 减少磁盘占用
- 提高查询效率
- 保证 Elasticsearch 集群稳定运行
不同业务可根据需求配置不同的日志保留周期。
6. 为什么选择 ELK
目前主流日志平台包括 ELK、Loki(Grafana)以及 Fluentd 等。它们各自适用于不同场景,并不存在绝对的优劣。结合实际测试以及生产环境需求,本平台最终选择了 ELK。
本平台最终选择 ELK,主要基于以下几点:
主流日志方案横向对比
| 对比项 | ELK (Elasticsearch + Logstash + Kibana) | Loki + Grafana | Fluentd | Vector |
|---|---|---|---|---|
| 定位 | 完整日志平台 | 云原生日志平台 | 日志采集与转发 | 日志采集与转发 |
| 数据存储 | Elasticsearch 全文索引 | 标签索引(Label) | 无内置存储 | 无内置存储 |
| 查询能力 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐ | ⭐ |
| 全文搜索 | 支持 | 有限支持 | 不支持 | 不支持 |
| 聚合分析 | 强 | 中 | 弱 | 弱 |
| 存储成本 | 较高 | 较低 | 依赖后端 | 依赖后端 |
| 部署复杂度 | 高 | 中 | 中 | 低 |
| 资源占用 | 较高 | 较低 | 中 | 低 |
| Kubernetes 支持 | 良好 | 非常优秀 | 良好 | 非常优秀 |
| 生命周期管理 | ILM | Retention | 无 | 无 |
| 可视化 | Kibana | Grafana | 第三方 | 第三方 |
| 适用场景 | 企业日志平台、日志分析、安全审计 | Kubernetes、云原生日志 | 日志汇聚 | 高性能日志采集 |
对于需要长期保存日志、频繁进行日志检索和故障分析的生产环境,ELK 是较为成熟且稳定的解决方案,特别是制造行业的相关系统和应用来说,也是我选择FELK的原因
7. 平台整体设计
本平台采用 Filebeat → Logstash → Elasticsearch → Kibana 的架构,而不是 Filebeat 直接写入 Elasticsearch。
这样设计主要有以下几个原因:
- 统一解析不同业务日志格式
- 对日志增加统一标签及来源信息
- 过滤无效日志,减少 Elasticsearch 存储压力
- 后续可扩展 Kafka、Redis 等消息队列
- 各业务服务器无需关注 Elasticsearch 配置
整个日志处理过程均在日志平台完成,业务服务器仅负责日志采集,从而降低业务系统与日志平台之间的耦合度,即方便相关维护人员配置,也可以降低系统服务的压力
8. 后续文档
本文介绍了 ELK 日志平台的整体架构及核心组件。
后续文档包括:
| 文档 | 内容 |
|---|---|
| ELK 部署配置 | Elasticsearch、Logstash、Kibana、Filebeat 安装及配置 |
| 日志接入指南 | Filebeat 配置、日志接入流程 |
| 日志查询指南 | Elasticsearch API、Kibana 查询方法 |
| ES Log Viewer 开源项目使用说明 | 企业内部日志查询平台使用方法 |
建议按照上述顺序阅读,以便完整了解日志平台的部署及使用流程。