提升 Filebeat 采集效率的实用方案
一 核心思路与快速收益
二 关键配置与推荐值
三 系统与环境优化
* soft nofile 65536* hard nofile 65536四 监控验证与容量规划
sudo systemctl restart filebeatsudo journalctl -u filebeat -f五 参考配置片段
filebeat.inputs:
- type: filestream
paths:
- /var/log/*.log
recursive_glob.enabled: true
ignore_older: 72h
scan_frequency: 15s
harvester_buffer_size: 40960000
harvester.max_bytes: 1048576
close_inactive: 5m
max_concurrent_files: 1024
# 多行示例(按需启用)
# multiline.pattern: '^\d{4}-\d{2}-\d{2}'
# multiline.negate: true
# multiline.max_lines: 500
# 队列(二选一,按可靠性/延迟取舍)
# 内存队列
queue.type: memory
queue.mem.events: 4096
queue.mem.flush.min_events: 2048
# 持久化队列(更可靠,占用磁盘)
# queue.type: persisted
# queue.max_bytes: 1073741824
# flush.min_events: 2048
# flush.timeout: 1s
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
# - decode_json_fields:
# fields: ["message"]
# target: ""
# overwrite_keys: true
output.elasticsearch:
hosts: ["http://es-node1:9200","http://es-node2:9200","http://es-node3:9200"]
worker: 3
bulk_max_size: 15000
flush_interval: 1s
compression: true
# index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
filebeat.registry:
path: /var/lib/filebeat/registry
clean_inactive: 72h
以上数值为起点,建议结合 CPU、内存、网络与 ES 处理能力阶梯式压测调优。