centos

CentOS上Filebeat日志收集怎样优化

小樊
33
2025-11-17 21:02:49
栏目: 智能运维

CentOS 上 Filebeat 日志收集优化指南

一 系统与环境准备

二 关键配置优化

三 参考配置片段

# /etc/filebeat/filebeat.yml 示例(按环境调整数值)
filebeat.inputs:
- type: filestream
  paths:
    - /var/log/*.log
  scan_frequency: 15s
  harvester_buffer_size: 40960000
  harvester.max_bytes: 1048576
  close_inactive: 5m
  # 多行示例(按业务调整)
  # 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

# 输出到 Elasticsearch
output.elasticsearch:
  hosts: ["es-node1:9200","es-node2:9200","es-node3:9200"]
  worker: 3
  bulk_max_size: 15000
  flush_interval: 1s
  compression: true
  # index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"

# 处理器(按需精简)
processors:
  - add_host_metadata: ~
  - add_cloud_metadata: ~
  # - decode_json_fields:
  #     fields: ["message"]
  #     target: ""
  #     overwrite_keys: true

# 注册表与恢复
filebeat.registry:
  path: /var/lib/filebeat/registry
  clean_inactive: 72h

上述片段中的关键数值(如 harvester_buffer_size 40MBbulk_max_size 15000flush_interval 1s、队列与注册表设置)来自官方与云厂商的性能建议与实战经验,可按你的 CPU/内存/网络/ES 集群规模阶梯式调优。

四 监控验证与容量规划

五 常见问题与快速修复

0
看了该问题的人还看了