Filebeat 安装和使用
Filebeat是轻量级日志收集工具,安装过程简单,支持Linux、Windows、Mac等多种系统。以下是详细的安装步骤(以Linux系统为例,其他系统类似):
一、准备工作
环境要求:
- 操作系统:Linux(CentOS/Ubuntu)、Windows、macOS
- 依赖:无特殊依赖,只需网络通畅(需连接Elasticsearch/Kibana)
- 版本选择:建议与Elasticsearch、Kibana版本保持一致(如7.17.x)
二、Linux系统安装步骤(以CentOS为例)
1. 下载Filebeat安装包
从Elastic官网下载对应版本的Filebeat:
# 下载7.17.0版本(可替换为其他版本)
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.0-linux-x86_64.tar.gz
# 解压安装包
tar -zxvf filebeat-7.17.0-linux-x86_64.tar.gz -C /usr/local/
# 重命名目录(方便操作)
mv /usr/local/filebeat-7.17.0-linux-x86_64 /usr/local/filebeat2. 配置Filebeat
修改配置文件filebeat.yml,指定日志来源和输出目标(Elasticsearch):
# 进入配置目录
cd /usr/local/filebeat
# 备份默认配置
cp filebeat.yml filebeat.yml.bak
# 编辑配置文件
vi filebeat.yml配置核心内容(根据实际环境修改):
# 1. 配置日志输入(监控RuoYi-Cloud的日志文件)
filebeat.inputs:
- type: log
enabled: true
paths:
# 监控网关日志(RuoYi默认日志路径)
- /home/ruoyi/logs/ruoyi-gateway/sub-data-push*.log
# 监控业务服务日志
- /home/ruoyi/logs/ruoyi-system/sub-data-push*.log
# 解析JSON格式日志(关键配置)
json.keys_under_root: true
json.overwrite_keys: true
# 2. 配置输出到Elasticsearch
output.elasticsearch:
hosts: ["192.168.1.100:9200"] # Elasticsearch地址和端口
index: "ruoyi-data-push-%{+yyyy.MM.dd}" # 日志索引名称(按天分割)
# 若Elasticsearch启用了账号密码,需添加认证信息
# username: "elastic"
# password: "your_password"
# 3. 配置Kibana(可选,用于自动创建索引模式)
setup.kibana:
host: "192.168.1.100:5601" # Kibana地址和端口3. 测试配置文件
# 检查配置文件是否有误
./filebeat test config -c filebeat.yml若输出Config OK,表示配置正确;若有错误,根据提示修改配置文件。
4. 设置开机自启(推荐)
将Filebeat注册为系统服务,实现开机自启:
# 创建服务文件
vi /etc/systemd/system/filebeat.service服务文件内容:
[Unit]
Description=Filebeat is a lightweight shipper for metrics.
Documentation=https://www.elastic.co/guide/en/beats/filebeat/current/index.html
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
ExecStart=/usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml
Restart=always
[Install]
WantedBy=multi-user.target启用服务:
# 重载系统服务
systemctl daemon-reload
# 启动Filebeat
systemctl start filebeat
# 设置开机自启
systemctl enable filebeat
# 查看服务状态
systemctl status filebeat若状态为active (running),表示启动成功。
5. 验证日志收集
查看Filebeat运行日志,确认是否成功收集并推送日志:
# 查看最近100行日志
tail -n 100 /var/log/messages # 系统日志中包含Filebeat输出
# 或查看Filebeat自己的日志(需在filebeat.yml中配置logging.path)也可登录Kibana,在“Discover”中查看是否生成ruoyi-data-push-*索引的日志数据。
三、Windows系统安装步骤
- 下载安装包:
从官网下载Windows版本(filebeat-7.17.0-windows-x86_64.zip),解压到C:\Program Files\filebeat。 - 修改配置文件:
编辑C:\Program Files\filebeat\filebeat.yml,配置方式与Linux相同(注意日志路径格式为C:\ruoyi\logs\*)。 安装为Windows服务:
# 以管理员身份打开PowerShell cd "C:\Program Files\filebeat" .\install-service-filebeat.ps1启动服务:
- 打开“服务”管理器,找到“filebeat”服务,手动启动;
- 或通过命令:
net start filebeat。
四、关键配置说明
日志路径匹配:
paths支持通配符,如/home/ruoyi/logs/*/*.log监控所有子目录的日志。- 若日志文件按天滚动(如
data-push.2025-09-18.log),使用data-push.*.log匹配。
JSON日志解析:
- 必须启用
json.keys_under_root: true,否则Elasticsearch会将整个JSON作为单个字段存储。
- 必须启用
- 索引生命周期管理:
若日志量大,建议在Elasticsearch中配置索引生命周期策略(ILM),自动删除过期日志。
五、常见问题
权限不足:
- Linux系统中,确保Filebeat有日志文件的读取权限(可使用
chmod 755 /home/ruoyi/logs授权)。
- Linux系统中,确保Filebeat有日志文件的读取权限(可使用
连接Elasticsearch失败:
- 检查网络连通性:
telnet 192.168.1.100 9200; - 检查Elasticsearch是否启用了安全认证(需在filebeat.yml中配置账号密码)。
- 检查网络连通性:
日志未解析为JSON:
- 确认日志文件确实是JSON格式(可手动查看
sub-data-push.log); - 检查
json.keys_under_root配置是否为true。
- 确认日志文件确实是JSON格式(可手动查看
通过以上步骤,即可完成Filebeat的安装和配置,实现对RuoYi-Cloud日志的自动收集与推送。
评论已关闭