温馨提示×

ubuntu filebeat配置文件详解

小樊
56
2025-08-16 03:51:25
栏目: 智能运维

Ubuntu下Filebeat配置文件为/etc/filebeat/filebeat.yml,以下是关键配置项详解:

  • 输入配置(filebeat.inputs
    定义日志来源,常用类型为log(文件日志),示例:

    filebeat.inputs:  
    - type: log  
      enabled: true  
      paths: ["/var/log/*.log"]  # 监控路径,支持通配符  
      exclude_files: [".gz$"]    # 排除.gz压缩文件  
      include_lines: ["^ERR", "^WARN"]  # 仅包含匹配行(正则)  
      exclude_lines: ["^DEBUG"]  # 排除匹配行  
      multiline.pattern: "^\["   # 多行日志匹配模式(如以[开头的日志)  
      multiline.match: after     # 匹配行追加到前一行之后  
    
  • 输出配置(output

    • Elasticsearch输出
      output.elasticsearch:  
      hosts: ["localhost:9200"]  # ES地址  
      index: "filebeat-%{+yyyy.MM.dd}"  # 索引名,支持日期动态生成  
      
    • Logstash输出(需搭配Logstash处理):
      output.logstash:  
      hosts: ["localhost:5044"]  # Logstash地址  
      
  • 模块配置(filebeat.modules
    启用预定义模块简化常见日志采集(如系统日志、Nginx日志),示例:

    filebeat.modules:  
    - module: system  
      metricsets: ["process"]  # 采集系统进程日志  
      period: 10s              # 采集周期  
    
  • 全局配置

    • 日志级别logging.level: info(可选debug/error
    • 性能优化
      spool_size: 1024 # 缓冲区大小(事件数)
      idle_timeout: 10s # 空闲超时刷新数据
  • 高级配置

    • 处理器(processors:添加元数据,如主机信息、云标签:
      processors:  
      - add_host_metadata: ~  
      - add_cloud_metadata: ~  
      
    • 多行日志处理:通过multiline配置合并多行日志(如Java异常堆栈)。

修改配置后,重启服务生效:

sudo systemctl restart filebeat  

验证配置正确性:

sudo filebeat test config  # 测试语法  
sudo journalctl -u filebeat -f  # 查看实时日志  

更多细节参考官方文档:Filebeat Configuration

0