【问题标题】:Using fluentd, I want to output only one key data from json data使用fluentd,我想从json数据中只输出一个关键数据
【发布时间】:2020-02-24 22:11:38
【问题描述】:

我想将 kubernetes 日志输出到文件中。 但是,我只能将其输出为 json 数据。 我只想将“消息”部分输出到文件。

如何选择“消息”进行打印? 我应该选择哪个过滤器?

<match output_tag>
  @type rewrite_tag_filter
  <rule>
    key $['kubernetes']['labels']['app']
    pattern ^(.+)$
    tag app.$1
  </rule>
</match>
<match app.tom1>
  @type file
  path /logs/tom1
</match>



Execute result:--->

2019-10-30T00:46:05+09:00   app.tom1    {
..
  "message": "2019-10-29 15:46:05,253 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request",
  "kubernetes": {
    "labels": {
      "app": "tom1",
..
}


Desired result: --->
2019-10-29 15:46:05,253 DEBUG [org.springframework.web.servlet.DispatcherServlet] Successfully completed request

谢谢!

【问题讨论】:

    标签: kubernetes fluentd efk


    【解决方案1】:

    试试single_value&lt;formater&gt;插件:https://docs.fluentd.org/formatter/single_value

    <match app.tom1>
      @type file
      path /logs/tom1
      <format>
        @type single_value
        message_key message
      </format>
    </match>
    

    【讨论】:

    • 抱歉回复晚了。谢谢!
    猜你喜欢
    • 2017-05-05
    • 2022-11-29
    • 2022-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2018-01-07
    • 2021-11-09
    相关资源
    最近更新 更多