在 Debian 上自定义 Filebeat 的完整步骤
一 准备与定位配置文件
- 安装 Filebeat:执行命令:sudo apt update && sudo apt install filebeat。
- 配置文件路径:主配置文件为 /etc/filebeat/filebeat.yml;如需确认路径可执行:filebeat config file。
- 备份默认配置:修改前先备份,命令:sudo cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak。
- 关键目录与文件默认位置:
- 数据目录:/var/lib/filebeat(可通过配置项 path.data 修改)
- 日志文件:/var/log/filebeat/filebeat(可通过 path.logs 修改)
二 编辑主配置文件
- 使用编辑器打开配置:sudo nano /etc/filebeat/filebeat.yml。
- 常用自定义项示例(按需在 filebeat.yml 中调整):
- 输入(Inputs):监控指定日志文件
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/myapp/*.log
ignore_older: 72h
- 输出(Outputs):发送到 Elasticsearch
output.elasticsearch:
hosts: ["localhost:9200"]
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
- 处理器(Processors):为事件添加字段或元数据
processors:
- add_fields:
fields:
environment: "production"
application: "myapp"
- add_host_metadata: {}
- add_cloud_metadata: {}
- 日志级别(Logging):便于排错
logging.level: info
三 启用模块与高级配置
- 启用模块(Modules):按需开启内置模块,例如系统日志
- 在配置中启用:modules: enabled: [“system”]
- 或命令行启用:sudo filebeat modules enable system
- 模板与 ILM(Index Lifecycle Management):
setup.template.settings:
index.number_of_shards: 3
setup.ilm.enabled: true
setup.ilm.rollover_alias: "filebeat-*"
setup.ilm.pattern: "{now/d}-000001"
- 路径与目录(Path):如需更改数据或日志目录
path.data: /custom/data/location
path.logs: /custom/logs/location
四 校验 启动与验证
- 校验配置语法:执行 sudo filebeat test config -e,如有错误会提示行号与原因。
- 启动与开机自启:
- 启动:sudo systemctl start filebeat
- 开机自启:sudo systemctl enable filebeat
- 查看运行状态与日志:
- 状态:sudo systemctl status filebeat
- 实时日志:sudo journalctl -u filebeat -f
- 若修改了 path.data 等目录,请确保新目录存在且 filebeat 用户具备读写权限,然后重启服务生效。