You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Filebeat配置中container与docker输入的区别是什么

Filebeat container 输入与 docker 输入核心差异

两者都是Filebeat提供的容器日志采集输入组件,核心差异如下:

  • 适配范围不同
    • docker输入是Filebeat早期推出的Docker生态专属输入,仅支持采集Docker运行时产生的容器日志,无法兼容其他容器运行时
    • container输入是后续推出的通用容器运行时采集方案,兼容Docker、Containerd、CRI-O等所有符合CRI标准的容器运行时,是当前官方首推的通用容器日志采集组件
  • 默认日志解析逻辑不同
    • docker输入默认适配Docker默认的json-file日志驱动格式,可自动解析每行JSON日志中的log(日志内容)、time(日志时间)、stream(日志流来源:stdout/stderr)字段,无需额外配置格式解析规则
    • container输入默认适配CRI标准日志格式(格式为[时间] [流类型] [P标记] [日志内容]),同时也支持手动调整配置适配Docker json格式,灵活性更高
  • 配置逻辑不同
    • docker输入的配置多和Docker API交互绑定,可直接指定Docker sock路径,支持通过Docker标签、镜像名、容器名过滤采集目标,最简配置示例:
    filebeat.inputs:
      - type: docker
        containers.ids: '*'
    
    • container输入的配置更通用,支持对接不同容器运行时的sock,过滤规则覆盖所有容器运行时的通用元数据,最简配置示例:
    filebeat.inputs:
      - type: container
        paths:
          - /var/log/containers/*.log
    
  • 维护迭代状态不同
    • 官方目前对docker输入仅做BUG修复,不再新增功能,长期迭代优先级极低
    • container输入是官方重点维护的组件,所有容器采集相关的新特性(比如多行日志自动合并、运行时元数据关联增强等)都会优先在该输入上实现

场景建议:仅使用Docker运行时的存量配置如果已经用了docker输入可以继续保留;新部署环境、或者需要兼容Containerd/CRI-O等其他运行时的场景,直接使用container输入即可。

内容的提问来源于stack exchange,提问作者Aman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:00:02