传统 ELK 与增加 Filebeat 和 Kafka 后的架构对比
本文介绍传统日志采集架构 ELK(Elasticsearch+Logstash+Kibana)与集成 Filebeat、Kafka 后的 ELFKK 架构对比,主要差异如下:
| 对比维度 | 传统 ELK 架构 | ELFKK 架构 |
|---|---|---|
| 架构组成 | Elasticsearch + Logstash + Kibana | Elasticsearch + Logstash + Filebeat + Kafka + Kibana |
| 日志采集方式 | Logstash 直接采集日志 | Filebeat 采集日志后发送至 Kafka |
| 中间缓冲机制 | 无缓冲机制 | 使用 Kafka 作为消息队列缓冲 |
| 系统资源占用 | Logstash 资源占用较高 | Filebeat 资源占用低,Logstash 负载减轻 |
| 扩展性 | 扩展性有限,Logstash 易成为瓶颈 | 支持水平扩展,Kafka 提供高吞吐能力 |
| 容错性 | Logstash 故障可能导致数据丢失 | Kafka 提供持久化,数据不会丢失 |
| 部署复杂度 | 相对简单 | 需要额外部署 Kafka,复杂度增加 |
| 适用场景 | 日志量小、系统简单 | 日志量大、高并发、分布式系统 |
Filebeat 采集日志步骤
在配置 Filebeat 以采集日志时,请遵循以下步骤确保其正常工作。
1. 安装 Filebeat
首先,确保你的系统上已经安装了 Filebeat。你可以从 Elastic 官网下载对应操作系统的安装包,或者使用包管理器(如 apt, yum 等)进行安装。
例如,在 Ubuntu 上,可以使用以下命令安装 Filebeat:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.1-amd64.deb
sudo dpkg -i filebeat-7.10.1-amd64.deb
2. 配置 Filebeat
Filebeat 的配置文件通常位于 /etc/filebeat/filebeat.yml。你需要编辑这个文件来指定日志文件的位置、输出目标(例如 Elasticsearch)等。
示例配置:
filebeat.inputs:
- type: log
enabled: true
[]


