2016-09-21 6 views
0

私はlogstashを使って何を処理するのかというログをたくさん持っています。各エントリの間には、二重引用符だけの邪魔な行があります。私のパターンは解析できず、grokparsefailureになります。それを無視/除去する最善の方法は何ですか?引用符付きの行を削除するには

私の入力は、私が最初に別のGROKフィルターを追加し、

grok { 
    match => { "message" => "(?<onlyquote>\")"} 
    remove_field => [ "onlyquote" ] 
    } 

フィールドを削除しようとした

mutate { 
    gsub => [ "message" , "\" \n" , "" ] 
    } 

をGSUBしかし、両方のアプローチが発生しました

2016-09-18 00:00:02,013 UTC, idf="639b26a731284b43beac8b26f829bcab", message="24308 * thread http-nio-8443-exec-4 
24308 > host: localhost:8443 
24308 > user-agent: curl/7.40.0 
" 
2016-09-18 00:02:35,555 UTC, idf="7d65da6966ec4c26a685b04ec7bfd851", message="24309 * thread http-nio-8443-exec-1 
24309 > host: example.com 
24309 > user-agent: Mozilla/5.0+(compatible; UptimeRobot/2.0; http://www.uptimerobot.com/) 
24309 > x-forwarded-for: 69.162.124.236 
" 
2016-09-18 00:07:35,591 UTC, idf="8998b9c5f2de414182ce3143b4ec39af", message="24310 * thread http-nio-8443-exec-10 
24310 > HEAD https://example.com/status 

ですさらに多くの失敗で何か案が?

+0

前にそれを置くが、あなたのイベントの複数行ありますか? – Fairy

+0

@Fairyはい、私は[\ d] +で始まる行を結合しますが、引用符を持つ行は結合しません。 – garci560

+0

私は '\ n'を自分で置き換えてテストしましたが、まったく拾われないようです。エスケープが壊れているようですか? – Fairy

答えて

0

dropフィルタを使用します

if (/^"$/) { // match line contains only " 
    drop {} 
} 

をそして、あなたのgrokフィルタ

関連する問題