如何在 logstash 中使用 grok 或 gsub 删除特定单词之前的部分字符串?
How to remove part of the string before specific word using grok or gsub in logstash?
我有一个字符串字段 "origin_message"。这是一个相当大的(使用多行来获取邮件内容。"origin_message"示例:
Delivered-to: somemail@domain.com A LOT OF OTHER CONTENT Subject: Subject goes here AND THE REST OF THE MESSAGE
想要的结果:
Subject goes here AND THE REST OF THE MESSAGE
有没有办法 trim "Subject:" 短语之前的所有内容?
我尝试了以下过滤器但没有成功:
filter {
mutate {
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
gsub => [
"original_message", "^(.*)Subject", " "
]
}
}
不知道为什么,但是在将 "message" 字段复制到单独的 "original_message" 字段之前在 "message" 字段上使用 gsub 解决了这个问题。
filter {
mutate {
gsub => ["message", "^(.*)Subject", " "]
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
}
}
@Val,感谢验证。问题似乎与模式无关。
我有一个字符串字段 "origin_message"。这是一个相当大的(使用多行来获取邮件内容。"origin_message"示例:
Delivered-to: somemail@domain.com A LOT OF OTHER CONTENT Subject: Subject goes here AND THE REST OF THE MESSAGE
想要的结果:
Subject goes here AND THE REST OF THE MESSAGE
有没有办法 trim "Subject:" 短语之前的所有内容?
我尝试了以下过滤器但没有成功:
filter {
mutate {
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
gsub => [
"original_message", "^(.*)Subject", " "
]
}
}
不知道为什么,但是在将 "message" 字段复制到单独的 "original_message" 字段之前在 "message" 字段上使用 gsub 解决了这个问题。
filter {
mutate {
gsub => ["message", "^(.*)Subject", " "]
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
}
}
@Val,感谢验证。问题似乎与模式无关。