2017-10-20 18 views
0

対応するタグが見つからない場合、パターンの1つを空白のままにしています。しかし、どういうわけか、次の試合が代用されています。タグを空にするためのlogstash grokパターン

は私が一致するこのGROK以下のパターンを試み

[2017-10-19 09:41:07,204: INFO/Worker-5] <test id = '123:4567', name = 'example_testcase'><TID:0b46030ee6f14055b41b796a4eebfef2><RID:>POST some url to post 

以下のようloglineを有する

^\[%{TIMESTAMP_ISO8601:timestamp}%{DATA}%{LOGLEVEL:log_level}/%{DATA:work_id}\]%{SPACE}(?:<%{DATA:message_headers}>)?(<TID:%{DATA:tid}>)?(<RID:%{BASE10NUM:rid}>)?%{GREEDYDATA:log_message} 

見出されるMESSAGE_HEADERSとして沿っとしては、メッセージヘッダーが見つからない場合、これは、良好な動作TIDで置き換えられています。 例:

[2017-10-19 09:41:07,204: INFO/Worker-5] <TID:0b46030ee6f14055b41b796a4eebfef2><RID:>POST some url to post 

その後、GROKパターン、空白MESSAGE_HEADERSしておきます。 TIDはmessage_headersに座っています。誰でもこの機能を実現する方法を手助けできますか?

答えて

1

オプションの式「?」を削除しました。 tidの後に動作します。ありがとうございました

関連する問題