CentOS上Filebeat日志存储配置指南
Filebeat的主配置文件默认位于/etc/filebeat/filebeat.yml,所有日志存储相关的设置均在此文件中完成。
通过logging.to_files参数控制是否将日志输出到文件,默认值为false(不输出)。需将其设置为true以启用文件日志功能:
logging.to_files: true
logging.level参数用于定义日志的详细程度,可选值包括error(仅错误信息)、warning(警告+错误)、info(常规信息+警告+错误,推荐)、debug(调试信息,用于排查问题)。建议生产环境使用info级别:
logging.level: info
通过logging.files子参数定义日志文件的存储路径、名称及保留策略:
path:指定日志文件的目录(需提前创建并赋予Filebeat写入权限,如/var/log/filebeat);name:指定日志文件的名称(如filebeat.log,最终文件名为name+.log,即/var/log/filebeat/filebeat.log);keepfiles:设置保留的日志文件数量(如7,保留最近7天的日志文件,自动删除旧文件):logging.files:
path: /var/log/filebeat
name: filebeat
keepfiles: 7
若需更细粒度的轮换控制(而非仅通过文件数量),可通过rotateeverybytes(按文件大小轮换,单位:字节)或rotateeveryfiles(按文件数量轮换)参数配置。例如,设置每10MB轮换一次:
logging.files:
rotateeverybytes: 10485760 # 10MB
或每天轮换一次(需结合keepfiles保留历史文件)。
修改配置文件后,需重启Filebeat服务使更改生效:
sudo systemctl restart filebeat
通过tail命令实时查看日志文件内容,确认配置是否生效:
tail -f /var/log/filebeat/filebeat.log
若能看到Filebeat的运行日志(如INFO级别的启动信息),则说明配置成功。
logging.files.path指定的目录存在,且Filebeat进程(通常为filebeat用户)有写入权限。可通过以下命令设置:sudo mkdir -p /var/log/filebeat
sudo chown filebeat:filebeat /var/log/filebeat
filebeat test config -e命令检查语法是否正确,避免因配置错误导致服务无法启动。