Fluency with forward plugin:如何将 kubernetes 元数据添加到日志中

Fluency with forward plugin: how to add kubernetes metadata to logs

嘿,我有一个问题。

我正在使用 logback-more-appenders(流畅插件)将日志发送到在 kubernetes 集群中工作的 EFK 堆栈(流畅位),但它缺少 kubernetes 元数据(如 node/pod 名称)。

我知道我可以使用 logbck.xml 中的 <additionalField></additionalField> 来添加服务名称(因为这是静态的),但我不能对节点或 pod 名称等动态部分执行此操作。

我尝试使用 kubernetes 过滤器在流利位方面进行操作,但这仅适用于 tail/systemd 输入而不是前向输入(它使用包含 namespce 和 pod 名称的文件名解析标签)。我使用转发插件将日志从 java 软件发送到 elasticsearch,在 logback.xml 中我无法输入动态 pod 名称(或者我不知道我是否可以)。

有什么技巧吗?我更喜欢使用流畅而不是嗅探主机容器日志来发送日志。

就我而言,我能想到的最好的办法是使用结构化日志记录从 forward 插件更改为 tail 插件(在 json 中)。