2016-08-01 21 views
1

私はlogstashおよびgrokフィルタで新しくなっています。私はUSERNAMEと呼ばれる新しいフィールドを構築したい可変長ドットで区切られた文字列をgrokで区切る

name1.name2.name3.namex.id 

:私は、ユーザ名は次の形式でアクセスログの一部であるlogstashでGROKフィルタ、と、Apacheのアクセスログから文字列を解析しようとしていますIDは削除されたname1.name2.name3.namexです。私はそれが働いているが、問題は、名前の数が可変であるということです。時には3名(lastname.firstname.middlename)があり、時には4名(lastname.firstname.middlename.suffixがある - SMITH.GEORGE.ALLEN.JR

%{WORD:lastname}.%{WORD:firstname}.%{WORD:middle}.%{WORD:id} 

4名以上である場合にはそれがないが

答えて

2

2つのパターンを使用して、4つのフィールドがある場合に一致するパターンを追加することができます。

%{WORD:lastname}.%{WORD:firstname}.%{WORD:middle}.%{WORD:suffix}.%{WORD:id} 

しかし、この場合、あなたが望んでいないように聞こえるフィールド。

どのようにその前にすべてのものを残して、IDをオフに分割パターン、おそらく約:

%{DATA:name}.%{INT} 
関連する問題