首页 > 解决方案 > 如何在 Fluend 中格式化日志,同时添加额外的文件?

问题描述

我想将附加字段添加到 json 日志中,例如时间戳和元数据,同时还将日志本身保留为“消息”键的字符串值。

例如,如果我收到的日志是{"Hello":"World"},我最终想要的是以下内容:

{
 "timestamp":"2020-01-101T01:02:03",
 "metadata":{"foo":"bar"},
 "message": "{\"Hello\":\"World\"}"
}

标签: kubernetesfluentd

解决方案


您正在寻找filter_record_transformer

就像是:

<filter foo.bar>
  @type record_transformer
  enable_ruby true
  <record>
    metadata '{"foo":"bar"}'
    timestamp ${time.iso8601}
  </record>
</filter>

注意: enable_ruby true需要转换${time}为您所追求的格式。如果您不需要操作字符串或类似内容,则可以不使用该行。


推荐阅读