我已经使用log4j配置并运行了我的ELK堆栈,一切正常。我希望能够做的是按类型对所有异常进行分组,例如 - 创建一个术语图并为每个异常类型设置一个术语,如FileNotFound,NullPointerException等。我已经有一个stack_trace字段,它包含第一行的异常类型,然后是完整的堆栈跟踪。我在网上找到了这样的东西:
filter{
mutate {
gsub => [
"stack_trace", "\n.*", ""
]
}
}
但是这只会用它的第一行覆盖stack_trace字段,这不是我想要的。我想添加一个新字段,它取出stack_trace字段的第一行,即异常类型。
答案 0 :(得分:3)
制作堆栈跟踪字段的副本并在该
上执行gsubfilter{
mutate {
add_field => {
"exception" => "%{stack_trace}"
}
}
mutate {
gsub => [
"exception", "\n.*", ""
]
}
}
编辑:感谢@Alpha指出this question,您可能需要使用两个单独的变异。