一、安装Filebeat 在开始日志备份前,需先安装Filebeat。以CentOS为例,可通过EPEL仓库或直接下载官方包安装:
sudo yum install epel-release && sudo yum install filebeat;filebeat-7.10.0-amd64.deb),使用sudo dpkg -i命令安装。二、配置Filebeat输入源
编辑Filebeat主配置文件(默认路径:/etc/filebeat/filebeat.yml),通过filebeat.inputs模块指定需要备份的日志文件路径。例如,监控系统日志可使用:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log # 所有.log结尾的系统日志
- /var/log/messages # 系统主日志
- /var/log/secure # 安全相关日志(如SSH登录记录)
可根据实际需求添加更多路径(如应用日志/opt/app/logs/*.log)。
三、配置日志输出(备份目的地) Filebeat需将收集的日志发送到指定目的地以实现备份,常见选项包括:
output.elasticsearch:
hosts: ["localhost:9200"] # Elasticsearch集群地址(多节点用逗号分隔)
index: "filebeat-backup-%{+yyyy.MM.dd}" # 按日期分索引,便于管理
output.logstash:
hosts: ["localhost:5044"] # Logstash监听端口
output.http:
hosts: ["http://backup-server:8080"]
ssl.verification_mode: none # 若未启用SSL,关闭验证
output.tcp:
hosts: ["backup-server:5000"]
filebeat.archive.enabled: true
filebeat.archive.files:
- path: /var/log/*.log # 需备份的日志路径
destination: /var/backups/filebeat # 归档目录
四、启动与启用Filebeat服务 配置完成后,启动Filebeat并设置为开机自启,确保日志备份持续运行:
sudo systemctl start filebeat # 启动服务
sudo systemctl enable filebeat # 开机自启
可通过sudo systemctl status filebeat查看服务状态,确认是否运行正常。
五、配置日志备份策略(可选但推荐) 为避免备份文件占用过多磁盘空间,建议通过以下方式管理备份:
/etc/logrotate.d/filebeat,添加以下内容:/var/log/filebeat/*.log {
daily # 每天轮转
missingok # 日志缺失不报错
rotate 7 # 保留最近7天
compress # 压缩旧日志(节省空间)
notifempty # 日志为空不轮转
create 640 root adm # 新日志权限与所有者
}
/etc/filebeat/filebeat.yml;/var/lib/filebeat/(存储索引元数据);/var/log/filebeat/(Filebeat自身运行日志)。tar命令手动备份,或编写脚本结合cron自动化:#!/bin/bash
BACKUP_DIR="/backup/filebeat"
DATE=$(date +%Y%m%d)
mkdir -p $BACKUP_DIR
# 备份配置、数据、日志
tar -czvf $BACKUP_DIR/config_$DATE.tar.gz /etc/filebeat/filebeat.yml
tar -czvf $BACKUP_DIR/data_$DATE.tar.gz /var/lib/filebeat/
tar -czvf $BACKUP_DIR/log_$DATE.tar.gz /var/log/filebeat/
添加cron任务(每天凌晨2点执行):crontab -e
输入:0 2 * * * /path/to/backup_script.sh。六、验证备份有效性
sudo systemctl status filebeat(无报错即为正常);sudo tail -f /var/log/filebeat/filebeat(确认日志是否被采集并发送到目的地);GET _cat/indices?v查看是否存在备份索引(如filebeat-backup-*);