ELK(Elasticsearch+Logstash+Kibana)传统日志采集架构与ELFKK(Elasticsearch+Logstash+Kibana+Filebeat+Kafka)对比

ELK(Elasticsearch+Logstash+Kibana)传统日志采集架构与ELFKK(Elasticsearch+Logstash+Kibana+Filebeat+Kafka)对比

传统ELK与增加Filebeat和Kafka后的架构对比表格

本文讲传统日志采集架构ELK(Elasticsearch+Logstash+Kibana)与ELK集成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
  paths:
    - /var/log/*.log  # 指定要监控的日志文件路径
  fields:
    log_type: app_logs  # 自定义字段,用于在Elasticsearch中区分日志类型
output.elasticsearch:
  hosts: ["localhost:9200"]  # Elasticsearch服务地址
  username: "elastic"        # 如果你设置了Elasticsearch的用户认证,需要填写用户名和密码
  password: "changeme"       # 密码

3. 启动Filebeat

配置完成后,你可以通过以下命令启动Filebeat:

sudo systemctl enable filebeat  # 设置Filebeat开机启动
sudo systemctl start filebeat   # 启动Filebeat服务

4. 检查Filebeat状态

确保Filebeat正在运行并且没有错误:

sudo systemctl status filebeat

5. 验证日志数据是否被正确发送到Elasticsearch

登录到Elasticsearch,检查索引中是否包含了Filebeat发送的日志数据。你可以使用Kibana来查看这些数据,或者使用curl命令直接查询:

curl -XGET 'localhost:9200/_search?q=log_type:app_logs'  # 使用自定义字段查询日志类型为app_logs的日志

6. 调整和优化(可选)

根据需要调整Filebeat的配置,例如增加更多的输入、修改输出设置、增加过滤器等。Filebeat的配置非常灵活,可以根据具体需求进行调整。

常见问题解决

  • 确保Elasticsearch运行正常‌:Filebeat依赖于Elasticsearch作为其输出目标。如果Elasticsearch服务未运行,Filebeat将无法发送数据。
  • 检查权限问题‌:确保Filebeat有权限读取指定的日志文件。可能需要调整文件或目录的权限。
  • 查看日志‌:如果Filebeat启动失败或行为异常,查看/var/log/filebeat/filebeat中的日志文件可能会提供一些线索。

通过以上步骤,你应该能够成功配置并使用Filebeat来采集日志数据。

附件二:Kraft模式安装Kafka(含常规、容器两种安装方式)、Kafka镜像下载

© 版权声明

相关文章