如何使用fluntd限制解析级别

问题描述

示例:下面是我使用 fluentd 解析器解析的日志。

{
    "level": "info","timestamp": "2021-02-26T05:10:25.396Z","res": {
        "statusCode": 200,"headers": {
            "x-powered-by": "Express"
        }
    },"traceId": "318093b6-80c9-4d97-84be-8f8b2767f14c","msg": "request completed"
}

目前正在解析所有级别

level: info
timestamp : 2021-02-26T05:10:25.396Z
res.statusCode: 200
res.headers.x-powered-by: Express
traceId: 318093b6-80c9-4d97-84be-8f8b2767f14c
msg: request completed

而我只想解析到 1st 级别:

level: info
timestamp : 2021-02-26T05:10:25.396Z
res.statusCode: 200
res.headers: "{ "x-powered-by": "Express" }"
traceId: 318093b6-80c9-4d97-84be-8f8b2767f14c
msg: request completed

这意味着我不想解析 "headers" 数据。目前它正在解析到所有级别。我们如何限制这种情况?

我目前使用的 Fluentd 解析器配置是:

<filter kubernetes.**>
      @type parser
      key_name log
      format json
      reserve_data true
      suppress_parse_error_log true
      ignore_key_not_exist true
</filter>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)