在Ubuntu系统中,Filebeat本身不负责日志分割。日志分割通常由日志生成器(如rsyslog或logrotate)来处理。要配置Filebeat与日志分割工具一起工作,请按照以下步骤操作:
安装Filebeat:
如果尚未安装Filebeat,请运行以下命令来安装:
sudo apt-get update
sudo apt-get install filebeat
配置Filebeat:
编辑Filebeat配置文件(通常位于/etc/filebeat/filebeat.yml),并确保以下设置正确:
filebeat.inputs: 指定要监视的日志文件或目录。output.elasticsearch: 指定Elasticsearch集群的地址。例如:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"]
安装和配置logrotate:
logrotate是一个用于管理日志文件的实用程序。它可以根据大小、时间或其他条件自动分割、压缩和删除日志文件。
首先,确保已安装logrotate:
sudo apt-get install logrotate
然后,创建一个新的logrotate配置文件(例如/etc/logrotate.d/filebeat),并添加以下内容:
/var/log/*.log {
daily
rotate 7
compress
missingok
notifempty
create 640 root adm
}
这个配置表示每天分割日志文件,保留最近7天的日志,压缩旧日志,并在需要时创建新的日志文件。
根据您的需求调整这些选项。
测试logrotate配置:
运行以下命令以测试logrotate配置是否正确:
sudo logrotate -f /etc/logrotate.d/filebeat
如果一切正常,您应该会看到类似于以下的输出:
reading config file /etc/logrotate.d/filebeat
Handling 1 logs...
现在,Filebeat将监视指定的日志文件,而logrotate将负责定期分割这些日志文件。这样,您可以确保日志文件不会变得过大,从而影响系统性能。