すべてのログに対して「一般的な」grok フィルターを持つ logstash のフィルターを作成しようとしています。フィールドが存在する場合は、別の grok を実行します。
私が使用している最初のグロックは
grok {
match => [
"message", "....%{NOTSPACE:name} %{GREEDYDATA:logcontent}"
]
}
これはうまく機能しています。しかし、「name」フィールドが「foo」の場合、これをさらにフィルタリングできるようにしたい
if [name] == "foo" {
grok {
match => [
"message", ".....%{NOTSPACE:name} %{NOTSPACE:object1} %{NOTSPACE:object2}"
]
}
このオプションを試しましたが、うまくいきませんでした。何かご意見は?