取出一个字段的第一行,在Logstash 1.4.0中添加为新字段
Take out the first line of a field and add it as a new field in Logstash 1.4.0
我配置了 ELK 堆栈,运行 使用 log4j,一切正常。我希望能够做的是按类型对所有异常进行分组,例如 - 创建一个术语图并为每个异常类型(如 FileNotFound、NullPointerException 等)设置一个术语。我已经有一个 stack_trace 字段,其中包括第一行的异常类型,然后是完整的堆栈跟踪。我在网上找到了这样的东西:
filter{
mutate {
gsub => [
"stack_trace", "\n.*", ""
]
}
}
但这只会用第一行覆盖 stack_trace 字段,这不是我想要的。我想添加一个新字段,该字段取出 stack_trace 字段的第一行异常类型。
复制堆栈跟踪字段并对其执行 gsub
filter{
mutate {
add_field => {
"exception" => "%{stack_trace}"
}
}
mutate {
gsub => [
"exception", "\n.*", ""
]
}
}
编辑:感谢 @Alpha for pointing out ,您可能需要使用两个单独的突变。
我配置了 ELK 堆栈,运行 使用 log4j,一切正常。我希望能够做的是按类型对所有异常进行分组,例如 - 创建一个术语图并为每个异常类型(如 FileNotFound、NullPointerException 等)设置一个术语。我已经有一个 stack_trace 字段,其中包括第一行的异常类型,然后是完整的堆栈跟踪。我在网上找到了这样的东西:
filter{
mutate {
gsub => [
"stack_trace", "\n.*", ""
]
}
}
但这只会用第一行覆盖 stack_trace 字段,这不是我想要的。我想添加一个新字段,该字段取出 stack_trace 字段的第一行异常类型。
复制堆栈跟踪字段并对其执行 gsub
filter{
mutate {
add_field => {
"exception" => "%{stack_trace}"
}
}
mutate {
gsub => [
"exception", "\n.*", ""
]
}
}
编辑:感谢 @Alpha for pointing out