Fluent-Bitログから「タイムスタンプ」日付を削除する方法は?

Fluent-Bitログから「タイムスタンプ」日付を削除する方法は?

CRIランタイムインターフェイスを持つローカルクラスタに対してFluent-bitをテストしており、空きチャネルにログを送信しています。しかし、問題は、Fluent-Bitがログに「タイムスタンプ」を割り当てるために削除できないことです。たぶん誰かが解決策を知っていますか?

これは私のFluent-Bit ConfigMapです。

apiVersion: v1
kind: ConfigMap
metadata:
  name: fluent-bit-config
  namespace: logging1
  labels:
    k8s-app: fluent-bit
data:
  # Configuration files: server, input, filters and output
  # ======================================================
  fluent-bit.conf: |
    [SERVICE]
        Flush         2
        Log_Level     info
        Daemon        off
        Parsers_File  parsers.conf
        HTTP_Server   On
        HTTP_Listen   0.0.0.0
        HTTP_Port     2020
 
    @INCLUDE input-kubernetes.conf
    @INCLUDE filter-kubernetes.conf
    @INCLUDE output-syslog.conf
 
  input-kubernetes.conf: |
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/*
        Parser            cri
        DB                /var/log/flb_kube.db
        Mem_Buf_Limit     5MB
        Skip_Long_Lines   On

  filter-kubernetes.conf: |

  output-syslog.conf: |
    [OUTPUT]
        Name               slack
        Match              *
        webhook            [LINK]
        
 
  parsers.conf: |
    [PARSER]
        Name          cc
        Format        regex
        Format        cri
        Regex         ^(?<time>[^ ]+) (?<stream>stdout|stderr) (?<logtag>[^ ]*) (?<message>.*)$
        Time_Key      time
        Time_Format   %Y-%m-%dT%H:%M:%S.%L%z

これは私のアプリケーションの元のログでもあります。

2023-04-12T16:09:02.016483996Z stderr F 10.244.0.1 - - [12/4/2023 16:09:02] "GET/HTTP/1.1" 200 -

Slackに送信されたログは次のとおりです。

["タイムスタンプ": 1681315742.016981904, {"ログ" => "2023-04-12T16:09:02.016483996Z stderr F 10.244.0.1 - - [12/4/2023 "200-"}]

ベストアンサー1

あなたは使用することができますRecord_transformerフィルタはRemove_keysを使用してタイムスタンプキーを削除します。

<filter foo.bar>
  @type record_transformer
  remove_keys timestamp
</filter>

おすすめ記事