我注意到 filebeat documentation 表明文件流输入是日志输入的新的和改进的替代方案。我还注意到文档表明容器解析器可以指定为文件流输入配置的子项。例如,文件流输入:
filebeat.inputs:
- type: container
paths:
- '/var/lib/docker/containers/*/*.log'
对
filebeat.inputs:
- type: filestream
id: my-id
paths:
- '/var/lib/docker/containers/*/*.log'
parsers:
- container:
这些是等价的吗?为什么我会选择其中之一而不是另一个?
我在 Docker 容器中使用 filebeat 8.3(截至本文的当前版本)。
当前 Elastic Stack 版本为 8.12 时编写
log
输入已被弃用并将被删除,新奇的filestream
输入已取代它。这是唯一简单的部分。
container
包裹 log
,添加 format
和 stream
选项。container
的 文档:自从
log
死后,容器的命运正在被积极讨论
这里。
有一个container_v2
的
草稿,它将包裹
filestream
,并包含stream
和format
选项,我不明白,似乎只是为了方便迁移?
stream
和format
选项形式的专业已经存在于filestream
的解析器选项中,所以我不明白为什么如果你要开始一个新的,你会使用container
记录。container
切换到
filestream
。TL;DR 和方便的
filestream
而非
log
/
container
container
部署,您可能希望迁移到
filestream
log
部署,您绝对希望迁移到
filestream
,因为它已被弃用