2017-08-25 20 views
1

私はtailFailでカスタムログデータを取得し、データを1行ずつ分割しました。今、私はnifi-api.logから有用なデータを取得したいと思います。ExtractTextを使ってnifiでログデータを取得する

私はこのように、この式を使用:

^(.*)$ 

が、プロセッサflowfiele無比します。 1.私の表現をどのように置き換えるべきですか?

答えて

2

ログメッセージでどの情報を探しているかによって異なります。あなたが投稿した表現は、コンテンツ全体と単純に一致します。

は、あなたが次のログ出力を持っていると分析を行うためにflowfileリポジトリチェックポイントの時間を収集したいとしましょう:

2017-08-25 10:36:31,942 INFO [pool-10-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Successfully checkpointed FlowFile Repository with 0 records in 229 milliseconds 
2017-08-25 10:36:35,571 INFO [Write-Ahead Local State Provider Maintenance] org.wali.MinimalLockingWriteAheadLog [email protected] checkpointed with 0 Records and 0 Swap Files in 14 milliseconds (Stop-the-world time = 4 milliseconds, Clear Edit Logs time = 7 millis), max Transaction ID -1 
2017-08-25 10:38:31,942 INFO [pool-10-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Initiating checkpoint of FlowFile Repository 
2017-08-25 10:38:32,162 INFO [pool-10-thread-1] org.wali.MinimalLockingWriteAheadLog [email protected] checkpointed with 0 Records and 0 Swap Files in 218 milliseconds (Stop-the-world time = 92 milliseconds, Clear Edit Logs time = 98 millis), max Transaction ID -1 
2017-08-25 10:38:32,162 INFO [pool-10-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Successfully checkpointed FlowFile Repository with 0 records in 218 milliseconds 
2017-08-25 10:38:35,584 INFO [Write-Ahead Local State Provider Maintenance] org.wali.MinimalLockingWriteAheadLog [email protected] checkpointed with 0 Records and 0 Swap Files in 13 milliseconds (Stop-the-world time = 6 milliseconds, Clear Edit Logs time = 4 millis), max Transaction ID -1 
2017-08-25 10:40:32,161 INFO [pool-10-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Initiating checkpoint of FlowFile Repository 
2017-08-25 10:40:32,341 INFO [pool-10-thread-1] org.wali.MinimalLockingWriteAheadLog [email protected] checkpointed with 0 Records and 0 Swap Files in 177 milliseconds (Stop-the-world time = 71 milliseconds, Clear Edit Logs time = 87 millis), max Transaction ID -1 
2017-08-25 10:40:32,341 INFO [pool-10-thread-1] o.a.n.c.r.WriteAheadFlowFileRepository Successfully checkpointed FlowFile Repository with 0 records in 178 milliseconds 
2017-08-25 10:40:35,592 INFO [Write-Ahead Local State Provider Maintenance] org.wali.MinimalLockingWriteAheadLog [email protected] checkpointed with 0 Records and 0 Swap Files in 11 milliseconds (Stop-the-world time = 5 milliseconds, Clear Edit Logs time = 4 millis), max Transaction ID -1 

^[\d\-\s\:,]+\s(INFO|WARN|ERROR).*(\d+) millisecondsのような表現を使用して、あなたがそれらのメッセージをフィルタリングすることを可能にし、あなたのキャプチャグループとなりメッセージの重要度とタイミングを理解する。

1

extractTextプロセッサで次の正規表現を使用して値を抽出することができます。

regex:(.*) 

次に、以下の式でERROR/WARN/INFOようにそのログをチェックするためにRouteOnAttributeを使用しています。

INFO:${regex:toLower():contains('info')} 

ERROR:${regex:toLower():contains('error')} 

WARN:${regex:toLower():contains('warn')} 

ここで、属性ごとにフローファイルをルーティングし、必要な処理を行います。

ご希望の場合はこちら

関連する問題