2016-04-26 20 views
1

Nifiの一部のプロフェッサーで失敗の理由をログに記録します。私はそれが複数の理由があるかもしれないことを見た。 SplitAvroJsonプロセッサ用 例: 「FlowFileは、(例えば、FlowFileが有効アブロではありません)何らかの理由で処理を失敗した場合、この関係にルーティングされますApache Nifiの失敗の理由を取得

は、正確な取得する任意の可能性があります私の失敗の理由は、例えばputファイルにそれを保存するためです。

ありがとうございます。

答えて

2

ほとんどのプロセッサは、エラーをnifi-app.logに記録します。 SplitAvroの例えばそのここでない:

https://github.com/apache/nifi/blob/e4b7e47836edf47042973e604005058c28eed23b/nifi-nar-bundles/nifi-avro-bundle/nifi-avro-processors/src/main/java/org/apache/nifi/processors/avro/SplitAvro.java#L206

このエラーメッセージはまたSplitAvroプロセッサに掲示としてNiFi UIに見えるであろう。

お探しのものはありますか?

+0

あなたの答えはThabkですが、可能であれば、hbaseテーブルに他の属性(example filename)を保存するために、属性のようなエラーメッセージを取得したいと考えています。 –

+0

あなたが何を記述しているか正確にはわからないが、別のオプションでカスタムのReportingTaskを実装することもできる。 ReportingTaskは、フローのすべての掲示板が格納されているBulletinRepositoryにアクセスすることができ、NiFi以外のどこかに送信することができます。唯一の制限は、掲示板が掲示板を生成したFlowFileから切断されていることです。特定のコンポーネントからの特定のエラーメッセージがありましたが、生成されたFlowFileにはアクセスできませんそれ。 –

1

私は同様の質問をしていましたが、私はこの投稿が役に立ったと思います。

現在地異なるオプションのカップルが、残りのAPIを使用して、掲示板のメッセージを消費する必要があります。

1) http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true 

この要求は、指定されたプロセスグループの下ですべてのコンポーネントの(会報を含む)のステータスを取得します。ルートレベルのプロセスグループには、別名「root」を使用できます。再帰フラグは、そのプロセスグループの子またはすべての子孫コンポーネントを返すかどうかを示します。

2) http[s]://{host}:{port}/nifi-api/controller/status 

このリクエストは、コントローラレベルのコンポーネントのステータス(掲示板を含む)を取得します。これには、Controller Services、Reporting Tasks、およびNiFi Framework自体からの報告されたすべての掲示板(クラスタリングメッセージなど)が含まれます。

この要求はすべての速報にアクセスし、フィルタリングベースのコンポーネント、メッセージ、および返される速報の数を制限します。

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 12484743) – MLavoie

+0

詳細手順を含めるように自分の回答を編集しました@MLavoie –

関連する問題