Filebeat 在 CentOS 上的配置文件管理
一 配置文件结构与默认路径
- 主配置文件:/etc/filebeat/filebeat.yml(建议修改前先备份)。同目录下还有完整示例 filebeat.reference.yml 与模块配置目录 modules.d/,便于按需启用模块与参考全量选项。Filebeat 配置采用 YAML 语法,层级通过空格缩进表示,注意不能使用 Tab。常用目录与用途如下:
- 配置目录:/etc/filebeat
- 数据目录:/var/lib/filebeat(注册表、状态等)
- 日志目录:/var/log/filebeat
- 可执行文件:/usr/share/filebeat/bin/filebeat
以上路径与结构适用于 RPM 系(如 CentOS)安装方式。
二 编辑与语法要点
- 基本输入示例(监控 /var/log/*.log):
- filebeat.inputs:
- type: log
enabled: true
paths:
- 常用处理与调优(按需添加):
- 忽略旧文件:ignore_older: 72h
- 添加云元数据:processors: [add_cloud_metadata]
- 多行日志:在对应输入下配置 multiline(如以时间戳开头的多行堆栈)
- YAML 规范:
- 大小写敏感、缩进用空格、同层级左对齐;避免 Tab;列表项以 - 开头;字符串通常可不引号,含特殊字符时建议引号包裹。
三 模块化配置与多文件拆分
- 使用模块快速接入常见日志(Nginx、System、MySQL 等):
- 方式一:编辑 modules.d/*.yml 后启用
- 启用:filebeat modules enable apache2 mysql
- 查看:filebeat modules list
- 方式二:在 filebeat.yml 中直接声明
- filebeat.modules:
- module: nginx
- module: mysql
- 覆盖模块日志路径等变量(示例):
- filebeat.modules:
- module: nginx
access:
var.paths: [“/var/log/nginx/access.log*”]
- 动态加载模块配置(可选):
- filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: true
reload.period: 10s
- 提示:模块配置优先放在 modules.d/,便于维护与版本升级时保留自定义。
四 多实例与多配置文件管理
- 同一主机运行多个实例(不同配置/角色):
- 复制服务单元并指定不同 -c 配置与 -path.data:
- cp /usr/lib/systemd/system/filebeat.service /etc/systemd/system/filebeat-audit.service
- 编辑新单元,在 ExecStart 增加:-c /etc/filebeat/filebeat-audit.yml -path.data /var/lib/filebeat-audit
- systemctl daemon-reload
- systemctl enable --now filebeat-audit
- 注意:不同实例需使用独立的 data 目录,避免注册表冲突。
- 外部输入配置拆分(可选):
- filebeat.config.inputs:
enable: true
path: ${path.config}/inputs.d/*.yml
reload.enabled: true
reload.period: 2s
- 将不同业务或路径的输入拆分到 inputs.d/ 下的多个 YAML 文件,便于团队协作与滚动变更。
五 校验 生效 与运维
- 配置校验与试运行:
- filebeat test config -e
- filebeat test output
- 服务管理:
- 启动/开机自启:systemctl enable --now filebeat
- 重启生效:systemctl restart filebeat
- 查看状态与日志:systemctl status filebeat;journalctl -u filebeat -f
- 日志轮转(避免 filebeat 自身日志过大):
- 新建 /etc/logrotate.d/filebeat:
- /var/log/filebeat/*.log {
- daily
- missingok
- rotate 7
- compress
- notifempty
- create 640 root root
- }
- 安全与权限:
- 配置文件建议权限:600,属主 root:root;遵循 Beats 的配置权限检查要求。