2017-05-27 6 views
0

以下のログ用のgrokフィルタを作成しようとしていますが、grokfailureを取得しようとしています。私はlogstashに新しいです、助けてください。カスタムログ用のlogstash

ログ: msg.repository.routed.ABC_MAS:101 :: 20170526から05:03:08:T-率< 0.068>とdir tmpの MSGにF-サイズ< 68>で、リモートホストからもらいました。 repository.routed.ABC_MAS:101 :: 20170526から05:03:07:T-率< 0.068>と msg.repository.routed.BCD_MAS DIR TMPへのF-サイズ< 68>で、リモートホストからもらっ:101 :: (msg)、timeOut:1000 msg.repository.routed.ABC_MAS:101 :: 20170526-00:04:37:sftpを1.2.2.1(msg)に接続しました。タイムアウト:私が使用千

GROKパターン: フィルタ{ GROK { マッチ=> { "メッセージ" =>「(:%{GREEDYDATA:pullpathinfo}?):%{NUMBER:スレッド} ::%{NUMBER:日付} - %{NUMBER:HOUR}:%{NUMBER :%{GREEDYDATA:msg}) '} 一致=> {"メッセージ" =>'(?:%{GREEDYDATA: pullpathinfo}):%{NUMBER:スレッド} ::%{NUMBER:日付} - %{NUMBER:?HOUR}:%{NUMBER:MINUTE}:%{NUMBER:SECONDは}:(:\ <% {GREEDYDATAを得ました:ファイル名}>%{GREEDYDATA:rate_size}) '} } }

答えて

0

grokパターンを開発するには、Grok Debuggerを使用することをお勧めします。 grokパターンを段階的に構築することができます。 (あなたの質問にログラインの上)フォローログの

msg.repository.routed.ABC_MAS:101::20170526-00:04:37: sftp connected to 1.2.2.1(msg), timeOut:1000 

次GROKパターンは動作します:

%{USERNAME:pullpathinfo}:%{NUMBER:thread}::%{NUMBER:date}-%{TIME:time}: sftp connected to %{IPORHOST:remoteip}%{GREEDYDATA:msg} 

フォローの変化が関連しています

  • grokパターンは、パターン内のすべての文字と正確に一致する必要があります。また、これは(%{WORD} %{WORD}%{WORD}%{WORD}と同じではありません。自分のパターンでは%{IPORHOST:remoteip}%{GREEDYDATA:msg}の間にあまりにも多くのスペースがありました。
  • %{USERNAME}代わりの%{GREEDYDATA} GROKパターン間のすべてのスペースのために真である(GREEDYDATAは唯一残っている部品に使用されなければなりませんたとえパターンUSERNAMEに適合しない名前があったとしても、それは(コロンではありません)
  • %{TIME}の代わりに `%{NUMBER :HOUR}:%{NUMBER:分}:%{NUMBER:SECOND}

私はこれが助けてくれることを願っています。

関連する問題