Grokを使用してログファイルを解析しようとしています
ログファイルの各行には、コンマで区切られたフィールドがあります。
13,home,ABC,Get,,Private, Public,1.2.3 ecc...
次のような一致を使用しています:match => [ "message", "%{NUMBER:requestId},%{Word:ServerHost},%{Word:Service},
...
私の質問は、オプションのフィールドを許可できますか?時々、いくつかのフィールドが空になることがあります,,
この2.3.5
のような文字列に一致するパターンはありますか? (バージョン番号の一種)
Grokは基本的に正規表現に基づいているため、パターンを()?
で囲んでオプションにすることができます。たとえば、(%{NUMBER:requestId})?,
ニーズに合ったgrokパターンがない場合は、次のような名前付き抽出をいつでも作成できます。(?<version>[\d\.]+)
は、バージョンに抽出します。