Fluentd:更改主机字段(Splunk HEC输出)



我部署了BanzaiCloud日志记录操作员,使用fluentd将日志发送到Splunk。Splunk将源(主机(解释为fluentd-0,但我希望拥有$命名空间$pod作为主机字段。我试着用record_modifier覆盖这个字段,结果得到了第二个主机字段。

...
spec:
filters:
- record_transformer:
records:
- host: ${namespace_name}.${pod_name}
...

我还尝试了record_modifier的replace功能,但没有成功。

spec:
filters:
- record_modifier:
replaces:
- key: host
expression: /^fluentd-0$/
replace: ${namespace_name}.${pod_name}

我认为宿主字段不是";日志有效载荷";因此不能使用记录修改器或记录转换器进行操作

有人能告诉我我需要配置什么才能将主机字段替换为namespace.pod吗?

好的,我找到了解决方案:主机字段是由Output生成的,而不是由Flow生成的。这样改变:

apiVersion: logging.banzaicloud.io/v1beta1
kind: Output
spec:
splunkHec:
...
host_key: kubernetes.container_name
...

最终使用预期的名称作为主机,而不是fluentd-0。此外,如果应该硬编码,则可以使用host来代替host_key

最新更新