Filebeat日志采集与ELK+Kafka缓冲架构部署
一、Filebeat采集Elasticsearch集群日志1.1 部署下载安装filebeat[rootserver1 ~]# rpm -ivh filebeat-7.6.1-x86_64.rpm[rootserver1 ~]# cd /etc/filebeat/[rootserver1 filebeat]# cd modules.d/将elasticsearch允许打开启用Elasticsearch内置模块[rootserver1 modules.d]# filebeat modules enable elasticsearchEnabled elasticsearch进入这个文件后可以看到文件上方的链接复制在浏览器访问会有指导文件可以按照指导文件[rootserver1 modules.d]# vim elasticsearch.ymlElasticsearch module | Filebeat Reference [7.6] | Elastic修改elasticsearch.yml模块配置打开var.paths模块并写上指导文件中的内容记得有两个缩进格式很重要[rootserver1 modules.d]# cd ..[rootserver1 filebeat]# lsfields.yml filebeat.reference.yml filebeat.yml modules.d修改文件配置输出目标使集群日志能够输出一般统一节点[rootserver1 filebeat]# vim filebeat.yml[rootserver1 modules.d]# systemctl enable --now filebeat指定采集到的日志发送到ES集群开启安全认证时必须填写elastic账号密码否则无法写入索引。安全认证在上一篇博客记得xpack认证时的密码配置好一台后将文件拷贝给其他两个节点将配置好的模块文件远程拷贝至另外两台 ES 服务器之后在 server2、server3 启动 filebeat实现三台节点日志全部采集。[rootserver1 modules.d]# scp elasticsearch.yml server2:/etc/filebeat/modules.d/[rootserver1 modules.d]# scp elasticsearch.yml server3:/etc/filebeat/modules.d此时访问浏览器http://192.168.159.155:5601可以看到有日志1.2 问题有一台节点老是下线将以下文件中的打开锁定ES进程内存不让操作系统把内存交换到swap磁盘swap会严重拖慢ES性能加剧节点失联。并将内存改为512m然后三台节点都要一样[rootserver3 elasticsearch]# vim /etc/elasticsearch/elasticsearch.yml[rootserver3 elasticsearch]# vim /etc/elasticsearch/jvm.options然后记得一个一个修改重新启动否则很有可能起不来修改好后集群状态稳定二、ELKKafka日志缓冲Kafka是分布式高吞吐消息中间件生产者向主题发送消息消息存储在分区并支持副本保障数据安全消费者以消费组形式订阅拉取数据依靠偏移量记录消费位置。它主要用于系统异步解耦、流量削峰、采集日志与流转实时数据流支持消息持久化与历史数据回溯适合海量流式数据传输常搭配大数据实时计算组件使用。基本架构Filebeat采集→ Kafka缓冲→ Logstash处理→ Elasticsearch存储→ Kibana可视化2.1 部署kafka新加三台虚拟机server6、server7、server8做kafka三台虚拟机都是一样的操作安装JDKKafka运行依赖JVM[rootserver6 ~]# rpm -ivh jdk-17.0.17_linux-x64_bin.rpm[rootserver6 ~]# java -version解压部署 Kafka[rootserver6 ~]# tar zxf kafka_2.12-3.9.1.tgz -C /opt[rootserver6 ~]# mv /opt/kafka_2.12-3.9.1 /opt/kafka[rootserver6 ~]# cd /opt/kafka/config/kraft[rootserver6 kraft]# cp server.properties{,.bak} # 备份原始配置[rootserver6 kraft]# mkdir /opt/kafka/logs # 创建Kafka数据存储目录批量分发安装包到另外两台节点server7、server8 执行相同解压、创建目录操作。[rootserver6 ~]# scp jdk-17.0.17_linux-x64_bin.rpm server7:[rootserver6 ~]# scp jdk-17.0.17_linux-x64_bin.rpm server8:[rootserver6 ~]# scp kafka_2.12-3.9.1.tgz server7:[rootserver6 ~]# scp kafka_2.12-3.9.1.tgz server8:修改kraft模式配置文件server.propertiesrootserver6 ~]# cd /opt/[rootserver6 opt]# cd kafka/[rootserver6 kafka]# cd config/[rootserver6 config]# cd kraft/[rootserver6 kraft]# vim server.propertiesserver7、server8 修改node.id、advertised.listeners内IP其余配置保持一致。process.rolesbroker,controller# 当前节点同时承担数据节点broker集群控制器controllerKRaft模式node.id156# 集群内节点唯一IDserver7改为157server8改为158controller.quorum.voters156192.168.159.156:9093,157192.168.159.157:9093,158192.168.159.158:9093# 集群控制器投票节点列表参与选主listenersPLAINTEXT://:9092,CONTROLLER://:9093# 本机监听端口inter.broker.listener.namePLAINTEXTadvertised.listenersPLAINTEXT://192.168.159.156:9092,CONTROLLER://192.168.159.156:9093# 对外广播访问地址其他机器通过此地址连接每台机器修改为本机IPcontroller.listener.namesCONTROLLERlistener.security.protocol.mapCONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSLnum.network.threads3num.io.threads8socket.send.buffer.bytes102400socket.receive.buffer.bytes102400socket.request.max.bytes104857600log.dirs/opt/kafka/logs # 消息持久化存储目录num.partitions3 # Topic默认分区数num.recovery.threads.per.data.dir1offsets.topic.replication.factor3 # 偏移量主题副本数集群3台设3保证高可用transaction.state.log.replication.factor3transaction.state.log.min.isr1log.retention.hours168 # 消息默认保留7天log.segment.bytes1073741824log.retention.check.interval.ms300000生成集群唯一ID仅在一台节点执行[rootserver6 kraft]# KAFKA_CLUSTER_ID$(/opt/kafka/bin/kafka-storage.sh random-uuid)[rootserver6 kraft]# echo ${KAFKA_CLUSTER_ID}输出一串UUID三台节点格式化数据都使用同一个ClusterID。格式化Kafka数据目录三台全部执行只需要格式化一次重复格式化会清空所有数据。三台节点格式化数据都使用同一个ClusterID[rootserver6 kraft]# /opt/kafka/bin/kafka-storage.sh format -t 1GROlYMiRkWVzED10qJ0tw -c /opt/kafka/config/kraft/server.properties后台启动Kafka集群三台一次启动[rootserver6 kraft]# /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties[rootserver6 kraft]# jps #验证进程创建测试主题testtopics[rootserver6 kraft]# /opt/kafka/bin/kafka-topics.sh --create --topic testtopics --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3[rootserver7 kraft]# /opt/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092功能测试生产者输入内容消费者正常接收Kafka 集群通信正常。[rootserver6 kraft]# /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopics[rootserver8 kraft]# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopics --from-beginning[rootserver7 kraft]# /opt/kafka/bin/kafka-topics.sh --bootstrap-server server7:9092,server8:9092,server9:9092 --topic testtopics --describe2.2 配置Filebeat日志输出到Kafka修改filebeat.yml[rootserver5 filebeat]# vim filebeat.ymlhostskafka集群地址列表topic日志发送到 kafka 的主题apache-logsrequired_acks:1broker写入本地日志即返回兼顾性能与可靠性compression:gzip开启压缩减少网络流量。[rootserver5 filebeat]# filebeat test config -c /etc/filebeat/filebeat.yml[rootserver5 filebeat]# filebeat test output -c /etc/filebeat/filebeat.yml检查配置语法测试连通kafka重启生效启动Kafka消费者消费apache-logs可以收到Filebeat推送的Apache访问日志[rootserver8 kraft]# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic apache-logs --from-beginning2.3 配置Logstash[rootserver5 ~]# cd /etc/logstash/[rootserver5 logstash]# cd conf.d/[rootserver5 conf.d]# vim kafka.conf记得把打印输出打开否则压测完后filebeat就输出不了信息input连接Kafka集群订阅apache-logs主题作为日志来源filter grok使用内置正则HTTPD_COMBINEDLOG自动拆分Apache日志把文本拆分为clientip、status、request、bytes等结构化字段output将清洗完成的数据写入Elasticsearch索引按日期自动生成apachelog-年月日stdout {} 仅调试使用压测时注释避免大量控制台输出占用资源。前台启动Logstash测试[rootserver5 conf.d]# /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/kafka.conf然后进行压测有值并且可以看到[rootserver3 ~]# ab -c1 -n 50 http://192.168.159.155/index.html[rootserver1 ~]# ab -c1 -n 100 http://192.168.159.155/index.html能够看到有正常输出访问kibana也能正常看到数据访问http://192.168.159.154:9100可以查看到索引apachelog-2026.08.13三、总结3.1 filebeat采集日志总结1.Filebeat启动失败大概率YAML缩进格式错误2. Kibana无日志检查Filebeat状态、ES端口连通性、账号密码3. ES节点反复掉线优先排查JVM堆内存大小、主机内存、Swap使用情况。3.2 ELKkafka缓冲总结1.KRaft模式必须使用同一个ClusterID格式化所有节点ID不一致集群无法组建2. server.properties内advertised.listeners的IP填写错误外部无法连接Kafka3. Filebeat测试output失败检查9092端口、kafka进程状态4. Logstash收不到数据核对topic名称、consumer-group调试打开stdout观察输出

相关新闻

网络工程师必备:Ping与Traceroute实战诊断指南

网络工程师必备:Ping与Traceroute实战诊断指南

1. 项目概述:为什么网络连通性测试是每个工程师的必修课刚接触网络设备配置的朋友,常常会遇到一个头疼的问题:明明按照教程配好了IP地址、路由,为什么设备之间就是不通?或者,网络时好时坏,问题到…

2026/8/16 23:36:59 阅读更多 →
Linux服务器三权分立实战:基于sudo实现等保三级权限管控

Linux服务器三权分立实战:基于sudo实现等保三级权限管控

1. 项目概述:为什么要在Linux服务器上搞“三权分立”? 最近在给一个金融客户的系统做等保三级测评的加固,对方审计老师提了个硬性要求:所有生产服务器的操作系统账号权限必须实现“三权分立”。这词儿听起来挺唬人,其实…

2026/8/16 23:36:59 阅读更多 →
Node.js入门教程(二十五):文件系统(fs 模块)

Node.js入门教程(二十五):文件系统(fs 模块)

一、fs 模块概述Node.js 的文件系统模块(fs 模块)提供了丰富的 API,用于读取、写入、删除文件以及执行其他文件系统操作。fs 模块既支持同步方法也支持异步方法,使得开发者可以根据具体需求选择合适的方式来处理文件操作。二、导入…

2026/8/16 23:35:57 阅读更多 →

最新新闻

nslookup命令使用说明

nslookup命令使用说明

个人建站,域名备案完成后,往往还要做域名解析服务,技术人员怎么能知道自己配置的DNS正确与否呢?NSLOOKUP查询域名信息的一个非常有用的命令,可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪…

2026/8/17 0:00:08 阅读更多 →
【原创唯一】基于SpringBoot+Vue的在线书店商城系统 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)

【原创唯一】基于SpringBoot+Vue的在线书店商城系统 课程设计/大作业/期末作业(源码+MySQL数据库+实验报告+PPT+远程部署)

摘要 电子商务与移动支付的普及,线上购书已成为高校师生及社会公众获取图书的重要方式。传统线下书店在图书检索、库存查询、订单跟踪等方面存在信息分散、效率较低等问题。本文设计并实现了一套基于 B/S 架构的网上书店系统,采用前后端分离模式&#xf…

2026/8/17 0:00:08 阅读更多 →
飞书局域网文件传输实战:3种方案实现高速点对点传输

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:解决界面卡顿与并行处理难题

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必修课? 如果你用LabVIEW做过稍微复杂点的项目,尤其是涉及界面响应、多任务并行或者硬件IO等待的场景,大概率遇到过这样的窘境:前面板点个按钮,整个程序就“卡死…

2026/8/17 0:00:08 阅读更多 →
错误分享:误将磁盘分区类型选成磁盘名称

错误分享:误将磁盘分区类型选成磁盘名称

1.先删除原有分区2.fdisk重新创建3.发现进程被占用4.使用kill关不掉进程,加 -9 强制关闭5.关闭后重新使用fdisk创建,tips:记得改完后要使用 w 保存

2026/8/16 23:59:08 阅读更多 →

日新闻

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必修课? 如果你用LabVIEW做过稍微复杂点的项目,尤其是涉及界面响应、多任务并行或者硬件IO等待的场景,大概率遇到过这样的窘境:前面板点个按钮,整个程序就“卡死…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:解决界面卡顿与并行处理难题

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:00:08 阅读更多 →
飞书局域网文件传输实战:3种方案实现高速点对点传输

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 0:00:08 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →