Debian系统Filebeat与Logstash联调步骤
导读:Debian系统Filebeat与Logstash联调步骤 1. 环境准备 确保Debian系统已更新至最新版本,并安装wget、vim等基础工具(可选但推荐): sudo apt update && sudo apt up...
Debian系统Filebeat与Logstash联调步骤
1. 环境准备
确保Debian系统已更新至最新版本,并安装wget、vim等基础工具(可选但推荐):
sudo apt update &
&
sudo apt upgrade -y
sudo apt install wget vim -y
2. 安装Filebeat
通过Debian官方仓库安装Filebeat(推荐,便于后续更新):
sudo apt install filebeat -y
安装完成后,Filebeat默认配置文件位于/etc/filebeat/filebeat.yml,二进制文件位于/usr/share/filebeat。
3. 安装Logstash
同样通过Debian官方仓库安装Logstash:
sudo apt install logstash -y
安装后,Logstash主配置目录为/etc/logstash,默认日志文件位于/var/log/logstash。
4. 配置Filebeat输出至Logstash
编辑Filebeat配置文件/etc/filebeat/filebeat.yml,完成以下关键配置:
- 启用日志输入:选择需要收集的日志类型(以系统日志为例),设置监控路径:
filebeat.inputs: - type: log enabled: true paths: - /var/log/syslog # 系统日志 - /var/log/auth.log # 认证日志 - 配置Logstash输出:指定Logstash服务器的地址和端口(默认监听
5044):output.logstash: hosts: ["localhost:5044"] # 若Logstash在远程服务器,替换为"remote_ip:5044" - 可选优化:开启多线程发送(提升性能)、负载均衡(多Logstash节点):
output.logstash: hosts: ["localhost:5044", "remote_ip:5044"] workers: 2 # 发送线程数 loadbalance: true # 负载均衡
5. 配置Logstash接收Filebeat数据
在Logstash中创建自定义配置文件(如/etc/logstash/conf.d/filebeat.conf),定义输入→过滤→输出管道:
- 输入配置:监听Filebeat的Beats协议(端口
5044):input { beats { port => 5044 } } - 过滤配置(可选):使用Grok插件解析日志(以系统日志为例):
filter { if [fileset][module] == "system" { grok { match => { "message" => "%{ SYSLOGTIMESTAMP:timestamp} %{ SYSLOGHOST:hostname} %{ DATA:program} (?:\[%{ POSINT:pid} \])?: %{ GREEDYDATA:message} " } } date { match => [ "timestamp", "MMM dd HH:mm:ss", "ISO8601" ] } } } - 输出配置:将处理后的数据发送至Elasticsearch(需提前安装并运行):
output { elasticsearch { hosts => ["localhost:9200"] index => "filebeat-%{ +YYYY.MM.dd} " # 按日期生成索引 } stdout { codec => rubydebug } # 控制台输出(调试用,生产环境可注释) }
6. 启动并启用服务
依次启动Filebeat和Logstash,并设置为开机自启:
# 启动Logstash(需先启动,否则Filebeat无法连接)
sudo systemctl start logstash
sudo systemctl enable logstash
# 启动Filebeat
sudo systemctl start filebeat
sudo systemctl enable filebeat
7. 验证联调结果
- 检查服务状态:确认Filebeat和Logstash均正常运行:
sudo systemctl status filebeat sudo systemctl status logstash - 查看Filebeat日志:确认日志是否成功发送至Logstash:
sudo journalctl -u filebeat -f - 查看Logstash日志:确认是否接收到Filebeat数据:
sudo tail -f /var/log/logstash/logstash-plain.log - 检查Elasticsearch索引:若配置了Elasticsearch输出,可通过以下命令查看生成的索引:
应能看到类似curl -X GET "localhost:9200/_cat/indices?v"filebeat-2025.10.24的索引(日期随当前时间变化)。
8. 常见问题排查
- 连接失败:检查Filebeat与Logstash的网络连通性(
ping、telnet),确认端口5044是否开放(sudo ufw allow 5044)。 - 配置语法错误:使用以下命令测试Filebeat配置:
测试Logstash配置:sudo filebeat test config -esudo logstash -f /etc/logstash/conf.d/filebeat.conf --config.test_and_exit - 日志无输出:检查Filebeat输入路径是否存在日志文件,确认Logstash过滤规则是否匹配日志格式。
通过以上步骤,即可完成Debian系统下Filebeat与Logstash的联调,实现日志的收集、处理与存储。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian系统Filebeat与Logstash联调步骤
本文地址: https://pptw.com/jishu/734802.html
