周期實例或補數據實例實際運行時,除受實例的定時運行時間影響外,還受多方因素影響。例如,上游實例任務的運行狀態是否成功、所剩資源是否滿足實例運行、實例是否命中限流規則等。為此,Dataphin提供實例運行診斷功能,對實例的運行流程及整體鏈路進行分析,當實例運行不符合預期時,您可以使用該功能快速定位問題。
使用限制
僅支持離線周期實例和補數據實例(包括腳本實例、明細及匯總表實例、萃取實例)的運行診斷,不支持實時實例(包括實時計算和實時集成)、手動實例的運行診斷。
明細及匯總表實例不支持字段級別的分析,僅支持按照物化節點進行分析。
功能概述
在運維中心,實例的運行狀態按照不同的顏色及標識來辨識實例所處于運行流程中的哪個階段。您可通過實例運行狀態的顏色及標識,判斷實例運行的階段或檢查實例未運行的原因。實例運行狀態及實例運行流程如下:
運行狀態標識 | 標識描述 | 運行流程圖 |
未運行 | ||
等待調度時間 | ||
限流中 | ||
等待調度資源 | ||
運行中 | ||
成功 | ||
失敗 |
實例是否能成功運行,受其上游依賴、調度時間、資源、實例本身運行情況等多方因素影響。當實例運行失敗或長時間處于一個運行狀態時,您可通過運行診斷功能,按照如下流程或基于以下維度對實例進行診斷分析:
檢查項 | 描述 |
檢查上游實例運行情況。上游實例運行失敗時,將阻塞當前實例運行,您可以通過查看上游依賴診斷結果進一步排查失敗原因。 | |
檢查是否已到達任務設置的定時運行時間。 | |
您可以查看當前實例命中的限流規則以及當前隊列中已下發的實例列表。 | |
您可以查看實例已等待調度資源的時長、以及當前占用所在資源組資源的全量實例列表,并根據診斷建議執行對應的操作。 | |
您可以查看實例運行結果以及執行日志。 |
運行診斷入口
在Dataphin首頁的頂部菜單欄中,選擇研發 > 任務運維。
在左側導航欄中選擇實例運維 > 周期實例/補數據實例/手動實例。
在周期實例/補數據實例/手動實例頁面,單擊目標實例對象名稱,在右側DAG圖下方,單擊查看節點詳情。
下圖以周期實例頁面操作為例。
在節點詳情頁面,單擊運行診斷頁簽。
上游依賴
上游依賴診斷為您展示實例最近1次運行診斷結果及上游實例當前最新的狀態,只有上游全部運行成功才會進入下一步檢查,您可以通過查看上游依賴診斷結果進一步排查失敗原因。最近1次運行已經通過上游依賴診斷的實例不會重新進行診斷,如果需要刷新最近1次運行結果或上游實例狀態,可以單擊刷新圖標。
如果實例最近1次運行結果為成功,且非強制重跑,則診斷結果為通過。
功能
描述
最近一次運行
展示運行狀態和運行通過時間。
說明僅全部上游實例的運行狀態均為成功時,當前實例才會開始調度。
當前診斷結果
展示診斷結果。
調度類型:包含空跑運行、正常運行、暫停運行。當前實例為暫停運行時,需先恢復調度才能開始運行。
起始阻斷節點:展示導致當前節點無法開始運行的最上層節點。上游診斷通過的實例無起始阻斷節點。
直接上游列表:展示直接上游列表。支持按照節點名稱、節點ID、實例ID進行搜索,同時支持按照運行狀態和負責人進行篩選。
如果實例未開始運行且非暫停調度,則診斷結果的調度類型為正常運行。您可以根據提示,重點關注起始阻斷節點,通過調整阻斷節點的運行,使當前節點恢復運行。僅全部上游實例的運行狀態均為成功時,當前實例才會開始調度。
如果實例當前為暫停運行狀態,則不會繼續進行診斷,診斷結果為暫停運行。
強制重跑的實例不會校驗上游是否全部運行成功,如果實例最近1次運行為強制重跑,則診斷結果為跳過。
定時時間
定時時間的診斷結果為每個實例的最近1次運行的診斷結果。實例需要到達定時運行時間才會開始調度,否則會處于等待調度時間狀態。如需刷新診斷結果,可單擊刷新圖標。
如果實例當前未到達設置的定時調度時間且非暫停調度,則診斷結果為等待調度時間。在確保不會對下游數據質量產生影響的前提下,如需提前調度該實例,可執行強制重跑。
如果實例當前狀態為暫停運行且暫停調度,則診斷結果為暫停。如需運行,可單擊恢復調度。
如果實例最近1次運行已到達設置的定時調度時間且非強制重跑,則診斷結果為通過。
強制重跑的起始節點不校驗是否到達定時時間,直接開始運行,跳過診斷。如果實例最近1次運行是強制重跑,則診斷結果為跳過。
限流規則
如果您購買了智能運維增值功能,可配置限流規則。如何配置,請參見限流配置。
所有實例運行都需要進行限流規則的診斷,上游依賴及定時時間診斷通過后,需要同時滿足所有命中的限流規則才會下發到資源調度系統。如需刷新診斷結果,可單擊刷新圖標。
如果實例最近1次運行滿足上游依賴以及定時時間,且同時滿足所有命中的限流規則,則診斷結果為通過。
如果實例當前被限流等待下發且非暫停調度,則診斷結果為限流中,并展示當前已等待的時長。
場景
描述
阻斷規則
展示當前實例命中的限流規則名稱。您可以單擊目標限流規則名稱查看。
已下發實例列表
展示當前命中的限流規則隊列中已下發的實例,您可以根據實例名稱或ID搜索或篩選已下發的實例。
如果實例當前為暫停運行狀態且暫停調度,則診斷結果為暫停。此時需要恢復實例運行狀態,才能下發資源調度。
調度資源
共享運行資源的實例通常情況受調度資源影響較小,獨享運行資源的實例需要所屬資源組有足夠可分配的空閑資源才會開始調度,否則為等待調度資源狀態。如需刷新診斷結果,可單擊刷新圖標。
如果實例最近一次運行所屬資源組有足夠可分配的空閑資源,且非暫停調度,則診斷結果為通過。
如果當前實例無足夠可分配的空閑調度資源,則診斷結果為等待調度資源。調度資源診斷頁面為您展示等待資源時長、診斷建議以及占用資源實例列表。您可以根據頁面展示的診斷建議,結合占用資源實例列表進行處理,以保證當前實例可獲得充足資源正常運行。
實例執行
到達執行環節的實例才會進入到實例執行診斷頁面,頁面中展示實例運行結果和運行日志。如果運行結果為失敗,您可以根據運行日志排查問題并處理。如需刷新診斷結果,可單擊圖標進行刷新。
可單擊打開運行日志,跳轉至運行日志頁面。運行日志中包含日志信息、異常信息、性能診斷和異常代碼,其中性能診斷詳情請參見離線集成任務運行性能診斷。