Filebeat是轻量级日志收集工具,安装过程简单,支持Linux、Windows、Mac等多种系统。以下是详细的安装步骤(以Linux系统为例,其他系统类似):

一、准备工作

  1. 环境要求

    • 操作系统: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/filebeat

2. 配置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系统安装步骤

  1. 下载安装包
    从官网下载Windows版本(filebeat-7.17.0-windows-x86_64.zip),解压到C:\Program Files\filebeat
  2. 修改配置文件
    编辑C:\Program Files\filebeat\filebeat.yml,配置方式与Linux相同(注意日志路径格式为C:\ruoyi\logs\*)。
  3. 安装为Windows服务

    # 以管理员身份打开PowerShell
    cd "C:\Program Files\filebeat"
    .\install-service-filebeat.ps1
  4. 启动服务

    • 打开“服务”管理器,找到“filebeat”服务,手动启动;
    • 或通过命令:net start filebeat

四、关键配置说明

  1. 日志路径匹配

    • paths支持通配符,如/home/ruoyi/logs/*/*.log监控所有子目录的日志。
    • 若日志文件按天滚动(如data-push.2025-09-18.log),使用data-push.*.log匹配。
  2. JSON日志解析

    • 必须启用json.keys_under_root: true,否则Elasticsearch会将整个JSON作为单个字段存储。
  3. 索引生命周期管理
    若日志量大,建议在Elasticsearch中配置索引生命周期策略(ILM),自动删除过期日志。

五、常见问题

  1. 权限不足

    • Linux系统中,确保Filebeat有日志文件的读取权限(可使用chmod 755 /home/ruoyi/logs授权)。
  2. 连接Elasticsearch失败

    • 检查网络连通性:telnet 192.168.1.100 9200
    • 检查Elasticsearch是否启用了安全认证(需在filebeat.yml中配置账号密码)。
  3. 日志未解析为JSON

    • 确认日志文件确实是JSON格式(可手动查看sub-data-push.log);
    • 检查json.keys_under_root配置是否为true

通过以上步骤,即可完成Filebeat的安装和配置,实现对RuoYi-Cloud日志的自动收集与推送。

标签: none

评论已关闭