0
私は文字列フィールド "origin_message"を持っています。かなり大きなものは(メールの内容を取得するために複数行を使用している「origin_message」の例を:。logstashでgrokまたはgsubを使用して特定の単語の前の文字列の一部を削除するにはどうすればよいですか?
Delivered-to: [email protected] A LOT OF OTHER CONTENT Subject: Subject goes here AND THE REST OF THE MESSAGE
望ましい結果:フレーズ:
Subject goes here AND THE REST OF THE MESSAGE
は、「件名」の前に、すべてをトリミングする方法はありますか?
私は運では、次のフィルタを試してみました:いいえ必ず理由が、GSUBを使用して
filter {
mutate {
add_field => { "original_message" => "%{message}" }
convert => {
"original_message" => "string"
}
gsub => [
"original_message", "^(.*)Subject", " "
]
}
}
'gsub'を使うのは正しいです。このパターンを使用すると '' ^(。*)件名: ''、次の出力が出ます。 ""件名はここに来てメッセージの残り " – Val
私の場合はうまくいきません。おそらく、データを入力するために複数行のコードが使用されているからでしょうか?私はまだ完全な元のメッセージを持っています。 – AlexG
しかし、イベントが 'gsub'フィルタに当たる時には、全てが1行に収まるでしょう。 – Val