在CentOS上,Filebeat的日志存储策略主要涉及配置文件filebeat.yml
中的多个设置。以下是一些关键的存储策略和相关配置:
日志文件存储路径:通过logging.files
配置项定义Filebeat日志文件的存储路径和文件名。例如:
logging.files:
path: /var/log/filebeat/filebeat.log
name: filebeat
保留的日志文件数量:使用keepfiles
配置项指定保留的日志文件数量。例如,保留7个文件:
keepfiles: 7
输出配置:Filebeat可以将日志数据发送到不同的存储目的地,如Elasticsearch、Logstash、Kafka等。以下是发送到Elasticsearch的配置示例:
output.elasticsearch:
hosts: ["http://elasticsearch:9200"]
index: "filebeat-%{+YYYY.MM.dd}"
内部缓冲队列:设置内部缓冲队列的最大事件数和最大大小。例如:
internal.queue.max_events: 10000
internal.queue.max_size: 512MB
处理器:使用processors
配置项对日志数据进行加工和过滤。例如,添加自定义字段:
processors:
- add_fields:
target: log
fields:
app_id: my_app
文件监控和排除:通过filebeat.inputs
配置项定义要监控的文件路径,并使用paths
和exclude_files
选项。例如,监控/var/log/*.log
文件并排除.gz
文件:
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
- /var/log/messages
exclude_files: [ '\.gz$' ]
多实例和负载均衡:如果需要将日志输出到多个地方,可以运行多个Filebeat实例,并通过配置实现负载均衡。例如,配置多个Elasticsearch输出:
output.elasticsearch:
hosts:
- host1:9200
- host2:9200
- host3:9200
load_balancing: round_robin
日志文件管理:定期清理日志文件以避免磁盘空间不足。例如,清理一个月前的日志文件:
sudo find /var/log/filebeat -type f -name "*.log" -mtime +30 -exec rm {} \;
通过上述配置策略,您可以有效地管理Filebeat在CentOS上的日志存储行为,确保日志数据的完整性和系统的稳定性。