簡體   English   中英

Fluentd:更改主機字段(Splunk HEC 輸出)

[英]Fluentd: Change host field (Splunk HEC output)

我部署了 BanzaiCloud Logging Operator 以使用 fluentd 將日志發送到 Splunk。 Splunk 將源(主機)解釋為fluentd-0但我希望將$namespace.$pod作為主機字段。 我試圖用 record_modifier 覆蓋該字段,最終獲得第二個主機字段。

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

我還嘗試了替換記錄修飾符的 function - 沒有成功。

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

我認為主機字段不是“日志有效負載”的一部分,因此無法使用Record ModifierRecord Transformer進行操作

誰能告訴我需要配置什么以便將主機字段替換為 namespace.pod?

好的,我找到了解決方案:主機字段由 Output 生成,而不是由 Flow 生成。 所以像這樣改變它:

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

最終將預期名稱作為主機而不是fluentd-0 如果應該硬編碼,也可以使用host代替host_key

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM