1 つの .log ファイルに複数の種類のログ メッセージがあるため、1 つ以上のマッチャーを使用して logstash フィルターを定義したいと考えています。ログファイルが 1 つあるかどうかを確認し、行で実行されている最初のフィルターだけでなく、さらに分離されたフィルターを定義しました。
1 に答える
2
grok
複数のパターンでフィルターを使用するか、if
ステートメントを使用して条件付きで解析することができます。
複数のパターンを使用するには、次のようにリストしますgrok
。
grok {
match => [ "message",
"Error on line (?<line>\d+)",
"Exception in (?<place>\d+)",
"Something else"
]
}
Logstash はそれらを順番に評価し、そのうちの 1 つが一致すると停止します (または、一致しない場合はタグを付けます_grokparsefailure
) 。
他にできることは、条件付き評価です。
if [message] =~ /Some pattern/ {
grok {
match => ['message','Some pattern of (?<number>\d+) stuff']
}
} else if [message] =~ /Some other pattern/ {
...
}
于 2014-09-18T13:23:57.060 に答える