啊咧咧 发布的文章

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日志的自动收集与推送。

  1. minio旧版本查看
  2. 选择一个版本下载
  3. 推荐: minio-20231106222608.0.0.x86_64.rpm 版本
  4. 使用rpm -ivh minio-20231106222608.0.0.x86_64.rpm安装
  5. 修改配置文件

sudo vim /etc/systemd/system/minio.service

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Environment="MINIO_ROOT_USER=minioadmin"
Environment="MINIO_ROOT_PASSWORD=minioadmin"
ExecStart=/usr/local/bin/minio server /data/minio/data --console-address ":9001"
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 修改配置文件后,使用命令重新加载:

systemctl daemon-reload

  1. 启动MinIO服务

sudo systemctl start minio

  1. 设置开机启动

sudo systemctl enable minio

  1. 验证安装

sudo systemctl status minio

  1. nginx反向代理:必须设置 proxy_set_header Host $http_host; 否则api报错,后台无法刷新bucket文件列表
  2. 更换版本,需要删除/data/minio/data目录下的.minio.sys文件,否则无法启动

  • 新版本minio不支持管理控制台修改权限
  • 所以安装旧版本的minio,这里推荐RELEASE.2023-11-06T22-26-08Z版本

安装流程

  1. 拉取镜像:
    docker➡️本地镜像➡️从仓库中拉取,选择用命令拉取,输入docker pull minio/minio:RELEASE.2023-12-09T18-17-51Z,点击执行命令
  2. 容器编排:
    docker➡️容器编排➡️添加容器编排,输入自定义容器名,复制compose内容和.env内容:
       # compose内容:
       services:
  minio_y8Pb:
    image: minio/minio:${VERSION}
    #    container_name: ${CONTAINER_NAME}
    deploy:
      resources:
        limits:
          cpus: ${CPUS}
          memory: ${MEMORY_LIMIT}
    ports:
      - ${WEB_HTTP_PORT}:9001
      - ${API_PORT}:9000
    restart: always
    command: "server /data --console-address :9001 --address :9000"
    environment:
      MINIO_ROOT_USER: ${MINIO_ROOT_USER}
      MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}
      MINIO_BROWSER_SESSION_DURATION: ${MINIO_BROWSER_SESSION_DURATION}
      MINIO_BROWSER: ${MINIO_BROWSER}
      MINIO_BROWSER_LOGIN_ANIMATION: ${MINIO_BROWSER_LOGIN_ANIMATION}
      MINIO_SERVER_URL: "http://127.0.0.1:9000"
      MINIO_BROWSER_REDIRECT_URL: "http://127.0.0.1:9001"
    logging:
      driver: json-file
      options:
        max-size: "5M"
        max-file: "10"
    volumes:
      - ${APP_PATH}/data:/data
      - ${APP_PATH}/ssl:/root/.minio/certs
    labels:
      createdBy: "bt_apps"
    networks:
      - baota_net

networks:
  baota_net:
    external: true


    # .env内容:
     VERSION=RELEASE.2023-11-06T22-26-08Z
WEB_HTTP_PORT=19001
API_PORT=19000
MINIO_ROOT_USER=minio
MINIO_ROOT_PASSWORD=minio
MINIO_BROWSER_SESSION_DURATION=12h
MINIO_BROWSER=on
MINIO_BROWSER_LOGIN_ANIMATION=on
HOST_IP=0.0.0.0
CPUS=0
MEMORY_LIMIT=0MB
APP_PATH=/www/dk_project/dk_app/minio/minio_y8Pb
  1. 启动容器即可