logstashですべてのログを解析するために、すべてのログに対して正しいgrokパターンを見つけるのに問題があります。私のログのpgpoolログのLogstash grokパターン
例:
1)2016年4月13日19時55分40秒:PID 21950:ログ:pool_send_and_wait:バックエンドからのエラーまたは通知メッセージ:DBノードID:4バックエンドPID:65156ステートメント: "UPDATE certname ......"(残りのログは関係ありません)
2)2016-04-13 19:55:40:pid 17555:FATAL:失敗しました(部分的に動作する)バックエンドから一種読み取る
マイGROKパターン:
GROK { 一致=> { "メッセージ" => "%{GREEDYDATA:LOGDATE}:のPID%{NUMBER:PID}:%{LOGLEVEL:ログレベル}:%{GREEDYDATA:LogMessageに}"} }
これらを見ることができるようにメッセージ自体は、I上記のパターンから除き
も使用して日付を指定しようとしました 1)ログ 2日)PID 3)ログレベル 4)\:私は気に物事がされています%{TIMESTAMP_ISO8601:timestamp}パターン(grokデバッガが私に示唆したように)。
私の前提は、 "log"という単語が2回あるので問題のあるログの種類です.2度目はコロンの後に表示されません(私のgrokパターンとは異なります)だから私はそれがなぜ構文解析操作に失敗するのか分かりません。
実際、「ログ」という単語が含まれていないログは2回正常に解析されました。パターンは部分的に機能します。
感謝:)
パターンの最後にGREEDYDATAを使用するようにしてください。 datetimeと一致するようにISO8601に切り替えて、それがどうなるかを見てください。 –
私は試しました、それは動作しませんでした –