Filebeat多线程处理实践
核心思路
关键并发点与配置建议
示例配置
# filebeat.yml 示例(并发与吞吐相关片段)
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/app1/*.log
harvester_buffer_size: 64KB # 针对大文件可适当增大
- type: log
enabled: true
paths:
- /var/log/app2/*.log
harvester_buffer_size: 128KB
# 内部队列与刷新
queue:
mem:
events: 10000
flush:
min_events: 1000
timeout: 5s
# 输出到 Elasticsearch(并发与批量)
output.elasticsearch:
hosts: ["http://es01:9200", "http://es02:9200"]
workers: 4
bulk_max_size: 2000
index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
# 输出到 Logstash(并发与负载均衡)
# output.logstash:
# hosts: ["logstash1:5044", "logstash2:5044"]
# workers: 2
# loadbalance: true
上述示例通过多输入路径、增大 harvester 缓冲、提升队列容量与输出工作线程/批量大小,综合提升并行与吞吐能力。
验证与调优步骤