【问题标题】:Take out the first line of a field and add it as a new field in Logstash 1.4.0在 Logstash 1.4.0 中取出一个字段的第一行并将其添加为一个新字段
【发布时间】:2016-09-30 13:14:27
【问题描述】:

我使用 log4j 配置并运行了我的 ELK 堆栈,一切正常。我希望能够按类型对所有异常进行分组,例如 - 创建一个术语图并为每个异常类型(如 FileNotFound、NullPointerException 等)设置一个术语。我已经有一个 stack_trace 字段,其中包括第一行的异常类型,然后是完整的堆栈跟踪。我在网上找到了这样的东西:

filter{
  mutate {
    gsub => [
      "stack_trace", "\n.*", ""
    ]
  }
}

但这只会用第一行覆盖 stack_trace 字段,这不是我想要的。我想添加一个新字段,取出stack_trace字段的第一行,即异常类型。

【问题讨论】:

    标签: java regex elasticsearch logstash kibana


    【解决方案1】:

    制作堆栈跟踪字段的副本并在其上执行 gsub

    filter{
      mutate {
        add_field => { 
          "exception" => "%{stack_trace}" 
        }
      }
      mutate {
        gsub => [
          "exception", "\n.*", ""
        ]
      }
    }
    

    编辑:感谢@Alpha 指出this question,您可能需要使用两个单独的变异。

    【讨论】:

    • 这其实是显而易见的解决方案哈哈,谢谢!
    • 没问题 :) 有时只需要别人重新审视并给出“明显的答案”
    • 请注意,您可能需要多个变异。见stackoverflow.com/questions/34596364/…
    猜你喜欢
    • 1970-01-01
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多