日誌新增:寫入資料行數、更新資料行數
顯示的具體日誌中,將「中止」改為「終止」
4.1.1 及之後版本,支援調整業務日誌匯出級別,因此日誌內容也做了優化:
增加:實體等待運作日誌的列印
增加:INFO級別,列印更加詳細的日誌,包括參數值、執行腳本、API請求、API分頁取數
優化:明確各條日誌的等級,將日誌級別列印到日誌中
讀數類節點,統一增加刪除資料的統計
日誌中:
列印叢集節點
列印啟動前動作時間
列印「SAP輸入」與「API輸入」的資訊和回應時長
列印 Kettle 呼叫結果
列印腳本連結資訊
列印版本號
列印選表時用的 SQL
列印排查資訊
定時任務運作後,將會產生運作日誌,便於使用者查看任務運作情況。如下圖所示:
本文介紹在「日誌」這個 Tab 頁下,具體顯示內容。
一個定時任務中有多個流程,在執行後如果有一個流程執行失敗,其他流程執行成功的話,整個定時任務的狀態是失敗的,但是其中的部分流程是執行成功的。
1)4.1.1 及之後版本,支援調整業務日誌匯出級別,因此日誌內容也做了優化:
增加:實體等待運作日誌的列印。
優化:明確各條日誌的等級,將日誌級別列印到日誌中。
讀數類節點,統一增加刪除資料的統計。
2)設定日誌級別後(任務控制概述、全局日誌配置),列印的日誌說明如下表所示:
INFO級別
BASIC INFO
ERROR
WARN
INFO
定時任務的日誌均採用下面的格式:
[日誌等級] 日誌內容
yyyy-mm-dd hh:mm:ss 任務狀態\節點狀態
運作總覽:執行成功 x,執行失敗 y,終止執行 z,跨越執行 w
執行完畢,總計耗時:nms
基礎日誌展示的內容為任務運作/節點執行的狀態,不受任務日誌級別控制,不管哪個日誌級別,都需要進行列印。
各級別的日誌,都是套在基礎日誌的框架裏的,比如 ERROR 級別的日誌,是對應失敗狀態的日誌補充。
yyyy-mm-dd hh:min:ss 實體構建立功
yyyy-mm-dd hh:min:ss 實體構建失敗
yyyy-mm-dd hh:min:ss 開始執行:【節點Name】
yyyy-mm-dd hh:min:ss 跨越執行:【節點Name】
yyyy-mm-dd hh:min:ss 執行成功:【節點Name】
yyyy-mm-dd hh:min:ss 執行失敗:【節點Name】
yyyy-mm-dd hh:min:ss 終止執行:【節點Name】
yyyy-mm-dd hh:min:ss 實體運作成功
yyyy-mm-dd hh:min:ss 實體運作失敗
yyyy-mm-dd hh:min:ss 實體運作中斷
循环容器 的日誌列印是整體邏輯,並非某條日誌匯出,因此無法定義日誌等級。
執行n次循環 (僅展示最近5次循環資訊)
第1次執行:
yyyy-mm-dd hh:mm:ss 描述
詳情
第2次執行:
......
第n次執行:
執行完畢,總計耗時:ns
2023-08-31 21:26:55 開始執行【循環容器】
執行20次循環 (僅展示最近5次循環資訊)
第16次執行:
2023-08-31 21:26:56 [BASIC INFO] 開始執行【SQL腳本1】[16]
2023-08-31 21:26:56 [BASIC INFO] 執行成功【SQL腳本1】[16]
第17次執行:
2023-08-31 21:26:56 [BASIC INFO] 開始執行【SQL腳本1】[17]
2023-08-31 21:26:56 [BASIC INFO] 執行成功【SQL腳本1】[17]
第18次執行:
2023-08-31 21:26:56 [BASIC INFO] 開始執行【SQL腳本1】[18]
2023-08-31 21:26:56 [BASIC INFO] 執行成功【SQL腳本1】[18]
第19次執行:
2023-08-31 21:26:56 [BASIC INFO] 開始執行【SQL腳本1】[19]
2023-08-31 21:26:56 [BASIC INFO] 執行成功【SQL腳本1】[19]
第20次執行:
2023-08-31 21:26:56 [BASIC INFO] 開始執行【SQL腳本1】[20]
2023-08-31 21:26:56 [BASIC INFO] 執行成功【SQL腳本1】[20]
執行完畢,總計耗時:5.0s
失敗重試 的日誌列印是整體邏輯,並非某條日誌匯出,因此無法定義日誌等級。
重新執行 (僅展示最近5次重試資訊)
第1次重試:
yyyy-mm-dd hh:mm:ss [日誌等級] 描述
第n次重試:
等待第n+1次重試...
等待首次重試:
等待第2次重試:
yyyy-mm-dd hh:min:ss 開始執行:【節點Name】所在叢集節點:節點的專案名稱
2023-08-31 19:14:09 實體運作中斷
[BASIC INFO] 任務逾時,中斷運作
[BASIC INFO]
- 啟動時刻:yyyy-mm-dd hh:mm:ss
- 實時讀取速度: nB/s, n行/s
- 實時寫入速度: nB/s, n行/s
- 累計寫入行數: n行
- 累計更新行數: n行
- 累計刪除行數: n行
- 寫入髒資料行數: n行
正在執行【節點名稱】...
2023-08-31 19:45:26 開始執行【資料同步】
- 啟動時刻:2023-08-3119:45:26
- 實時讀取速度:0B/s,0行/s
- 實時寫入速度:0B/s,0行/s
- 累計寫入行數:0行
- 累計更新行數:0行
- 累計刪除行數:0行
- 寫入髒資料行數:0行
正在執行【資料同步】..
僅在節點執行程式中列印,節點執行完畢時清除此日誌
適用節點:
資料同步
資料轉換
參數指派
- 實時下載速度:nB/s
- 實時上傳速度:nB/s
- 上傳成功檔案數:n個
正在執行【檔案傳輸】...
2023-08-31 19:45:26 開始執行【檔案傳輸】
- 實時下載速度:0B/s
- 實時上傳速度:0B/s
- 上傳成功檔案數:0個
正在執行【檔案傳輸】..
- SQL條數:x
- 影響行數:y
- 總耗時:zs
2024-04-23 16:36:53 開始執行【SQL腳本】
- SQL條數:4
- 影響行數:4
- 總耗時:0.016s
2024-04-23 17:17:23 執行成功【SQL腳本】
1)僅在執行成功後展示(資訊由資料庫傳回給我們)如果未傳回資料則顯示資訊未傳回)
2)總耗時:指建立連結到獲取傳回資料的總時間,主要是資料庫執行SQL的時間
3)適用節點:SQL腳本
- 結束時刻:yyyy-mm-dd hh:mm:ss
- 平均流量:nB/s
- 平均寫入速度:n行/s
- 讀取資料行數:n行
- 寫入資料行數:n行
- 更新資料行數:n行
- 刪除資料行數:n行
- 寫入髒資料行數:n行
- 耗時:ns
注:「寫入資料行數」為直接寫入的資料行數,不同資料庫統計時有一定差異;比如有的資料庫寫入時覆重寫入的資料也會歸到「寫入資料行數」中
2023-08-31 20:03:33 節點執行成功【參數指派】
- 啟動時刻:2023-08-31 20:03:32
- 結束時刻:2023-08-31 20:03:33
- 平均流量:871B/s
- 平均寫入速度:1行/s
- 讀取資料行數:20行
- 寫入資料行數:1行
- 更新資料行數:0行
- 刪除資料行數:0行
- 耗時:1.0s
- 下載檔案個數:n個
- 上傳檔案個數:n個
2023-08-31 20:03:33 節點執行成功【檔案傳輸】
- 下載檔案個數:20個
- 上傳檔案個數:1個
檔案傳輸
[BASIC INFO] 節點遠端條件不滿足
[BASIC INFO] 條件分支條件不滿足
2023-08-31 22:07:48 跨越執行【虛擬節點】
日誌級別設定為 ERROR、INFO、WARN 時,日誌說明如下:
[ERROR] 異常節點:【節點Name】
具體錯誤資訊
....
異常節點:【節點Name】
2023-08-31 19:09:44 任務構建失敗
[ERROR] 異常節點:【資料轉換】
[DB表匯出]:
目標表為空
欄位映射表為空
2023-08-31 19:19:27 執行失敗【資料同步】
[ERROR] [資料來源]:資料連結異常 - DataBase[FRDemo] get column failed - [SQLITE_ERROR] SQL error or missing database (near "1": syntax error)
[ERROR] 髒資料條數檢查不透過,限制是[x]條,但實際上擷取了[y]條.
錯誤定位:寫入目的表[Table_name]時遇到了髒資料,資料無法正常寫入,請檢查並作出修改.
異常情況:具體錯誤資訊
建議排查的目標欄位:
{欄位序號:1,欄位名:a1,資料類型:INT}
{欄位序號:2,欄位名:a2,資料類型:VARCHAR}
錯誤記錄:
{位元組數:1,欄位序號:1,欄位值:value1,資料類型:STRING}
{位元組數:1,欄位序號:2,欄位值:value2,資料類型:STRING}
[ERROR] 髒資料條數檢查不透過, 限制是[20]條, 但實際上擷取了[700]條
錯誤定位: 寫入[SALE_BSEG]目的表時遇到了髒資料,資料無法正第寫入,請做出檢查井修改
異常情況: ORA-01653:表 BLLODS_TEST.SALE_BSEG 無法透過 8192(在表空間 BI_ODS_TEST 中)擴展
{欄位序號:295, 欄位名: PENDAYS, 資料類型: NUMBER}
{欄位序號:333, 欄位名: CURRENT_TIMESTAMP, 資料類型:TIMESTAMP}
{位元組數:3, 欄位序號:1, 欄位值:"800",資料類型:STRING}
{位元組數:4, 欄位序號:2, 欄位值:"1001”,資料類型:STRING
僅在出現髒資料時列印
僅列印最近一條髒資料,髒資料明細可以在統計裏匯出或去fanruan.log中查看
[ERROR] [錯誤物件]:錯誤標題 - 描述
報錯循環及參數:
第x次執行-參數[para]:xxx
第y次執行-參數[para]:yyy
日誌級別設定為 WARN、INFO 時,日誌說明如下:
- 平均寫入速度:18行/s
- 寫入資料行數:18行
- 寫入髒資料行數:2行
[WARN] 檢查發現[2]條髒資料
- 新增欄位:COL1
- 刪除欄位:COL2
- 修改欄位:COL3,舊類型:varchar(100),新類型:varchar(200)
僅在執行時間超過30s時列印
資料同步(資料去向)
資料轉換(DB表匯出)
任務日誌等級為 INFO 時,列印 INFO 級別的日誌。
使用參數:
- 參數[參數名1]:值1
- 參數[參數名2]:值2
列印使用的參數名和參數值至日誌
除虛擬節點,其他節點均可使用參數
執行腳本:
「實際執行的命令語句」
匯出資訊:--若無內容,則不列印,shell腳本、Bat腳本、Python腳本可能會有匯出
「腳本執行後匯出的資訊」
展示實際執行的腳本內容
將腳本執行後匯出的資訊列印出來
涉及到腳本執行的節點
資料同步(SQL取數、選表資料過濾語句、交易匯出)
資料轉換(SQL取數、選表資料過濾語句、交易匯出)
參數指派(SQL取數、選表資料過濾語句)
SQL腳本
Shell腳本
Bat腳本
Python腳本
涉及到腳本執行的算子
資料同步\資料轉換\參數指派:DB表輸入(SQL取數、選表資料過濾語句)
資料轉換:SparkSQL、Python
注:以上涉及到的節點和算子中,「選表資料過濾語句」為 4.2.9.1 及之後版本新增內容
[INFO] [算子Name]: --若不包含算子,則不列印算子Name
回應時長:xx 秒
請求資訊:
- 憑證地址:/xx/xx/test.CRT --若未配置自簽章憑證,則不列印
- Request:
POST http://www.fanruan.com/testapi/
- Headers:
Content-Type: application/json
- Body:
{"key":"Im a JSON"}
服務端回應:
- HttpStatusCode:200
列印API請求的詳細內容至日誌
涉及到API請求的節點
資料同步\資料轉換\參數指派:API輸入
資料同步\資料轉換:API匯出
[INFO]
[算子Name]:--若不包含算子,則不列印算子Name
列印 SAP 請求的詳細內容至日誌
涉及到的節點:
參數指派:SAP輸入
針對排查問題的場景,為了提升排查效率,新增「Job」資訊,排查資訊以節點為單位,內容範圍是固定節點定位後端日誌的資訊。
定義:這裏的Job[xx]不是任務配置的JobId,而是調度賦予這個節點的一個編號,在工程不重啟的情況下,一個節點每次運作都使用同一個編號。目前 日誌 中不會記錄 Job 資訊,僅在 畫布節點中的 Tooltip 進行展示。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙