我想在一些Nifi起訴人中記錄失敗的原因。但我看到它可能有多種原因。 舉例SplitAvroJson處理器: 「如果FlowFile由於某種原因失敗的處理(例如,FlowFile是無效的Avro),其將被路由到這種關係」在Apache Nifi中得到失敗的原因
是否有可能得到確切的例如,爲了將它保存在put文件中,我失敗的原因。
預先感謝您。
我想在一些Nifi起訴人中記錄失敗的原因。但我看到它可能有多種原因。 舉例SplitAvroJson處理器: 「如果FlowFile由於某種原因失敗的處理(例如,FlowFile是無效的Avro),其將被路由到這種關係」在Apache Nifi中得到失敗的原因
是否有可能得到確切的例如,爲了將它保存在put文件中,我失敗的原因。
預先感謝您。
大多數處理器會將錯誤記錄到nifi-app.log。對於SplitAvro的例子它在這裏:
此錯誤消息也將是可見的NiFi UI作爲SplitAvro處理器上的公告。
這是否實現您正在尋找的?
我有一個類似的問題,我認爲這篇文章可能會幫助你。
你有一對夫婦在這裏不同的選項消耗使用REST API公告消息:
1) http[s]://{host}:{port}/nifi-api/controller/process-groups/{process-group-id}/status?recursive=true
此請求將獲得指定進程集團下的所有組件的狀態(包括公告)。您可以將別名「root」用於根級別的Process Group。遞歸標誌將指示是否僅返回該進程組的子進程或所有後代組件。
2) http[s]://{host}:{port}/nifi-api/controller/status
該請求將獲得控制器級別組件的狀態(包括公告)。這包括來自控制器服務,報告任務和NiFi框架本身的任何報告公告(羣集消息等)。
3) http[s]://{host}:{port}/nifi-api/controller/bulletin-board?limit=n&sourceId={id}&message={str}
該請求將訪問所有公告並支持基於過濾的組件,消息並限制返回的公告數量。
雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 - [來自評論](/ review/low-quality-posts/12484743) – MLavoie
編輯我的答案以包含詳細步驟@MLavoie –
Thabk你爲你的答案,但如果有可能我想得到錯誤消息像一個attribue爲了保存與其他attribue(例如文件名)在hbase表中。 –
我不確定是否有任何內容完全符合您所描述的內容,但另一種選擇可能是實現自定義ReportingTask。 ReportingTask可以訪問Bulletin Repository,這是存儲流的所有公告的地方,您可以將它們發送到NiFi之外的某個地方。唯一的限制是公告與生成公告的FlowFile斷開連接,因此您只需知道給定組件在給定時間內有特定的錯誤消息,但您無法訪問生成該公告的FlowFile它。 –