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 + KibanaElasticsearch + 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镜像下载

Read more

【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)

【狂热算法篇】探寻图论幽径之SPFA算法:图论迷宫里的闪电寻径者(通俗易懂版)

本篇带大家探究的是SPFA算法;从基本理解,画图分析展示,再到最后的代码实现,以及为何要这样实现代码,等一些细节问题做解释,相关题型应用,非常值得哟,尤其是刚入门的小白学习;干货满满,通俗易懂;欢迎大家点赞收藏阅读呀!!!   欢迎拜访:羑悻的小杀马特.-ZEEKLOG博客 本篇主题:秒懂百科之SPFA算法的深度剖析 制作日期:2025.08.12 隶属专栏: 图论学习专栏   美妙的算法世界专栏 图论系列算法参考图:  目录: 一·本算法背景: 二·算法核心思想及实例模拟操作: 三.算法详细步骤:  3.1初始化操作: 3.2队列迭代松弛阶段: 3.3提速小优化: 3.4检查是否存在负环: 四.代码实现: 五·代码实例测试: 六.小细节及疑点剖析: 6.1 为什么可以通过队列进行Bellman-Ford算法的优化操作: 6.

By Ne0inhk
《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--6.计算布尔二叉树的值,7.求根节点到叶节点数字之和

《算法题讲解指南:递归,搜索与回溯算法--二叉树中的深搜》--6.计算布尔二叉树的值,7.求根节点到叶节点数字之和

🔥小叶-duck:个人主页 ❄️个人专栏:《Data-Structure-Learning》 《C++入门到进阶&自我学习过程记录》 《算法题讲解指南》--优选算法 《算法题讲解指南》--递归、搜索与回溯算法 ✨未择之路,不须回头 已择之路,纵是荆棘遍野,亦作花海遨游 目录 深度优先遍历介绍 6.计算布尔二叉树的值 题目链接: 题目描述: 题目示例: 解法(递归): 算法思路: C++算法代码: 7.求根节点到叶节点数字之和 题目链接: 题目描述: 题目示例: 解法(dfs-前序遍历): 算法思路: C++算法代码: 算法总结及流程解析: 结束语 深度优先遍历介绍       深度优先遍历(DFS,全称为 Depth First Traversal),是我们树或者图这样的数据结构中常用的一种遍历算法。

By Ne0inhk
【LeetCode_206】反转链表

【LeetCode_206】反转链表

刷爆LeetCode系列 * LeetCode第206题:反转链表 * github地址 * 前言 * 题目描述 * 题目与思路分析 * 思路一:反转链表的指针指向 * 思路二:取链表的结点,头插到新链表中 * 代码实现 * 思路一:反转指针指向 * 以下两种写法是保存curNext指针的方式不同 * 思路二:取原链表中的节点,头插到新链表 * 试错代码 * 算法代码优化 * 思路一优化: LeetCode第206题:反转链表 github地址 有梦想的电信狗 前言 本文用C++实现LeetCode第206题:反转链表 题目描述 * 题目链接:https://leetcode-cn.com/problems/reverse-linked-list/description/ 题目与思路分析 目标分析: 1. 有单链表的头节点 head ,反转原链表 2. 返回反转后的链表的头指针 3. 提高要求:时间复杂度为O(n)

By Ne0inhk