取出字段的第一行并将其添加为Logstash 1.4.0中的新字段

时间:2016-06-01 09:03:55

标签: java regex elasticsearch logstash kibana

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

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

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

1 个答案:

答案 0 :(得分:3)

制作堆栈跟踪字段的副本并在该

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

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