1. 安装Filebeat
在Ubuntu上安装Filebeat,首先更新软件包列表,然后通过apt命令安装:
sudo apt-get update
sudo apt-get install filebeat
2. 配置Filebeat监控特定目录
Filebeat的配置文件位于/etc/filebeat/filebeat.yml,需修改此文件定义监控目标。核心配置项为filebeat.inputs,通过paths参数指定目录路径(支持通配符*):
filebeat.inputs:
- type: log # 输入类型为日志
enabled: true # 启用该输入
paths:
- /path/to/your/directory/*.log # 监控目录下所有.log文件(可替换为具体目录,如/var/log/myapp/*)
ignore_older: 72h # 可选:忽略超过72小时的旧日志(减少不必要的扫描)
scan.frequency: 10s # 可选:设置文件扫描频率(默认10秒,平衡实时性与性能)
注意:若需监控多个目录,可在paths列表中添加多条路径(如- /path1/*.log、- /path2/*.log)。
3. 优化文件监控性能(可选但推荐)
Filebeat依赖Linux内核的inotify机制监控文件变化。若监控目录较多或文件较大,需调整inotify的最大监听数量:
# 查看当前最大监听数量
cat /proc/sys/fs/inotify/max_user_watches
# 临时增加数量(重启后失效)
sudo sysctl -w fs.inotify.max_user_watches=524288
# 永久生效:编辑sysctl.conf文件
sudo nano /etc/sysctl.conf
# 添加或修改以下行
fs.inotify.max_user_watches=524288
# 保存后使配置生效
sudo sysctl -p
4. 启动并启用Filebeat服务
配置完成后,启动Filebeat服务并设置为开机自启:
sudo systemctl start filebeat # 启动服务
sudo systemctl enable filebeat # 设置开机自启
5. 验证配置与运行状态
sudo systemctl status filebeat
若状态显示为active (running),则表示服务已启动。sudo journalctl -u filebeat -f
sudo filebeat test output -c /etc/filebeat/filebeat.yml
若输出status: OK,则表示连接成功。