web-dev-qa-db-ja.com

ログファイルのLogstashオプションフィールド

Grokを使用してログファイルを解析しようとしています

ログファイルの各行には、コンマで区切られたフィールドがあります。

13,home,ABC,Get,,Private, Public,1.2.3 ecc...

次のような一致を使用しています:match => [ "message", "%{NUMBER:requestId},%{Word:ServerHost},%{Word:Service},...

私の質問は、オプションのフィールドを許可できますか?時々、いくつかのフィールドが空になることがあります,,

この2.3.5のような文字列に一致するパターンはありますか? (バージョン番号の一種)

22
alpa

Grokは基本的に正規表現に基づいているため、パターンを()?で囲んでオプションにすることができます。たとえば、(%{NUMBER:requestId})?,

ニーズに合ったgrokパターンがない場合は、次のような名前付き抽出をいつでも作成できます。(?<version>[\d\.]+)は、バージョンに抽出します。

58
Alcanzar