1. 概述
1.1 版本
FineDataLink 版本 | 功能變動 |
---|---|
4.1.1 |
|
4.1.7.3 | 定時任務運作記錄可直接使用 3.4 節功能進行手動/自動清理 |
4.2.4.3 | 實時任務運作記錄和業務日誌,受「管理系統>平台日誌>日誌清理」控制,避免過多的運作記錄和業務日誌累積 |
1.2 功能簡介
FineDataLink 工程運作時,會生成相關日誌檔案進行記錄。
日誌類型 | 日誌內容 | 日誌儲存和清理 | 日誌使用 | |
---|---|---|---|---|
系統日誌 | 記錄系統運作程式中的一些資訊 | 預設儲存在%FDL_HOME%\logs\fanruan.log 不允許修改日誌儲存位置 |
| |
操作日誌 | 記錄普通使用者和管理者的使用動作 | 儲存在%FDL_HOME%\webapps\webroot\logs\cubes 允許修改日誌儲存位置 | 獲取日誌的兩種方式:
| |
業務日誌 | 執行記錄 | 1)記錄各業務模組使用程式中產生的記錄 對於 FDL,包括:
2)不支援日誌的分級 |
預設儲存在 FineDB 資料庫 的 fine_dp_work_exec_record、fine_dp_pipeline_execute 不支援在 3.4 節被手動/自動清理,可參考自動清理FineDataLink運作記錄 進行清理
fine_dp_work_exec_record 任務運作歷史記錄可以使用 3.4 節手動或者自動清理 儲存在 FineDB 的 fine_dp_work_last_record 最近一次運作記錄則還是只能使用自動清理FineDataLink運作記錄 進行清理。 | 獲取日誌的兩種方式:
|
診斷日誌 | 1)記錄各業務模組使用程式中產生的程式日誌 對於FDL,包括:
2)支援日誌的分級 | 資料管道|資料服務:
上述 3 張表資料,可在本文 3.4 節被手動/自動清理 | 獲取日誌的兩種方式:
| |
定時任務: 預設儲存為檔案,每條運作記錄生成一個檔案(路徑:%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record 4.1.7.3 之前的版本不支援在 3.4 節被手動/自動清理 4.1.7.3 以及之後的版本在logdb中對應的執行記錄的資料行清除後,一起跟隨清除。 |
2. 系統日誌
系統日誌記錄系統運作程式中的一些資訊。
日誌儲存在%FDL_HOME%\logs\fanruan.log檔案裏,Tomcat伺服器的日誌檔案catalina.out裏也會生成。
不支援修改伺服器工程日誌儲存位置。
不支援自動清理%FDL_HOME%\logs\fanruan.log檔案。
每日 0 點定時將 fanruan.log 壓縮,用以節省磁碟空間。
2.1 日誌級別簡介
系統日誌匯出級別分為五種:DEBUG、INFO、WARN、ERROR、FATAL。
日誌級別大小排序(嚴重程度):FATAL>ERROR>WARN>INFO>DEBUG
日誌詳細程度排序:FATAL<ERROR<WARN<INFO<DEBUG
Log級別 | 簡介 |
---|---|
DEBUG(除錯) | 指出細粒度資訊事件對除錯應用程式是非常有幫助的,主要用於開發程式中列印一些運作資訊。 |
INFO(資訊) | 在粗粒度級別上突出強調應用程式的運作程式,列印一些感興趣的或者重要的資訊。 可以用於生產環境中匯出程式運作的一些重要資訊,但是不能濫用,避免列印過多的日誌。 |
WARN(警告) | 表明會出現潛在錯誤的情形,有些資訊不是錯誤資訊,但是也要給程式員的一些提示。 |
ERROR(錯誤) | 指出雖然發生錯誤事件,但仍然不影響系統的繼續運作。列印錯誤和異常資訊。 如果不想匯出太多的日誌,可以使用這個級別。 |
FATAL(致命) | 指出每個嚴重的錯誤事件將會導致應用程式的跳出。 這個級別比較高,屬於重大錯誤,可以直接停止程式了。 |
2.2 設定日誌級別
超級管理者登入 FineDataLink 系統,點選「管理系統>智慧維運>平台日誌」,點選「全局設定」,可根據需求自行調整日誌級別。如下圖所示:
注:調節日誌級別,僅影響系統日誌的匯出,不影響操作日誌。
3. 操作日誌
3.1 查看操作日誌
操作日誌預設儲存在%FDL_HOME%\webapps\webroot\logs\cubes資料夾中。
全部的操作日誌,儲存在cubes資料夾中,可透過資料連結進行查詢分析。詳情請參見:報表日誌 LogDB 資料庫 。
「管理系統>智慧維運>平台日誌>操作日誌」中,以表格形式向使用者展示操作日誌:
FDL 的操作日誌在此處全部展示。
FR、BI 的常用操作日誌在此處展示。
3.2 修改儲存位置
Windows:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.bat的檔案。如果檔案不存在,可以建立一個新的setenv.bat檔案。在檔案中新增以下行來設定,配置完成後重啟工程。
SET "JAVA_OPTS=%JAVA_OPTS% -DSWIFT_HOME=D:\path\logs"
Linux:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.sh的檔案。如果檔案不存在,可以建立一個新的setenv.sh檔案。在檔案中新增以下行來設定,配置完成後重啟工程。
JAVA_OPTS="$JAVA_OPTS -DSWIFT_HOME=\home\path\logs"
3.3 備份操作日誌
操作日誌和業務日誌統一備份;暫不支援備份系統日誌。
注:有部分操作日誌和業務日誌儲存在 LogDB 資料庫中,本節備份的是這部分日誌資料。
3.3.1 備份操作日誌&業務日誌
管理者登入 FineDataLink 系統,點選「管理系統>智慧維運>平台日誌」,點選「全局設定」,可開啟「自動備份」按鈕。如下圖所示:
操作日誌、業務日誌實時備份的表包括:
fine_record_execute
fine_record_operate
fine_record_email
fine_record_write
fine_schedule_record
fine_pipeline_log
fine_pipeline_sync_information
fine_record_fdl_dataservice_monitor_info
開啟「自動備份」按鈕後,在%FDL_HOME%\webapps\webroot\logs\swift_backup下生成備份檔案,按照時間戳來分別儲存,如20211105。如下圖所示:
備份檔案會跟隨 3.4 節日誌的清理邏輯來清理。
3.3.2 還原操作日誌&業務日誌
僅當開啟了「自動備份」按鈕後,方可進行操作日誌&業務日誌的還原。
點選「備份還原」文字,跳出日期選擇框。選擇需要還原的日期區間,點選「確定」。
耐心等待一段時間後,跳出「備份還原成功」彈窗,日誌即可成功還原。如下圖所示:
注1:若還原程式中重新整理頁面,再次點選「備份還原」文字,會跳出「正在備份」彈窗,請耐心等待即可。
注2:若還原時檢查到記憶體不足,會跳出提示使用者清理磁碟。
注3:若還原時檢查到備份檔案損壞,會提示備份檔案損壞,不進行備份。
3.4 清理操作日誌&業務日誌
注:有部分操作日誌和業務日誌儲存在 LogDB 資料庫中,本節清理的是這部分日誌資料。
超級管理者登入 FineDataLink 系統,點選「管理系統>智慧維運>平台日誌」,點選「全局設定」,可對操作日誌&業務日誌檔案進行清理,可以設定「自動清理」和「手動清理」。
1)自動清理:每隔 3 個月自動清理一次,保留近 3 個月的資料。最少會保留 3 個月,最多實際上會有 6 個月。
2)手動清理:預設保留近 3 個月的資料,可選擇 0 天、1 天、1 週、1 個月、3 個月、6 個月、12 個月。
如下圖所示:
需注意:
「日誌清理」設定僅影響操作日誌、業務日誌,不影響系統日誌。
近 3 個月是指當前日期往前 3 個月的資料,例如 2019-8-19 日手動清理,預設保留 2019-5-19 ~ 2019-8-19 日的資料。
清理日誌後發現 cubes 資料夾佔用空間仍然很大,原因在於只是清理資料夾裏面的檔案,不會清理資料夾,該目錄下資料夾特別多,而且佔用比較大的空間。
若設定只保留近一個月運作記錄:近一個月若存在升級操作,升級時%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record目錄中會自動把所有的日誌檔案都儲存在以升級當天日期命名的資料夾中,
FDL 自動清理一個月之前記錄時,不能同時刪掉儲存在升級當天的很久之前的日誌檔案。
只有運作記錄被刪除後,該記錄對應的日誌檔案才會被刪除。所以,該使用者升級一個月之後,records 目錄下對應的日誌檔案就能被刪除。
清理後顯示的「當前日誌大小」不是磁碟佔用空間的概念,而是實際所有檔案的大小。詳情參見:
Windows:windows系統中檔案大小和佔用空間不同的原因解析
Linux:du和ls查看檔案大小的差別
3)清理預警
日誌檔案過大時通知相關使用者,相關使用者可對日誌進行手動清理,減小日誌檔案大小。
開啟預警功能,設定觸發條件,例如日誌檔案大於 xxxM。
簡訊提醒需要「開啟簡訊功能」,詳細設定請查看 短信 ,同時郵件提醒也需要配置寄件人,詳細設定請查看 邮箱 。
然後勾選「簡訊提醒、平台訊息、郵件提醒」,再分別設定設定收件人,設定完成後點選「儲存」,如下圖所示:
簡訊提醒效果如下圖所示:
平台訊息效果如下圖所示:
郵件提醒效果如下圖所示:
3.5 注意事項
3.5.1 自動刪除運作記錄未生效
問題描述:
使用者在 3.4 節位置處設定只保留近一個月記錄,fine_dp_work_exec_record 表中保留的是近一個月記錄,但%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record中,存在很早之前的日誌檔案。
原因分析:
使用者在近一個月有升級操作,升級時,%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record目錄中會自動把所有的日誌檔案都儲存在以升級當天日期命名的資料夾中,FDL 自動清理一個月之前記錄時,不能刪掉儲存在升級當天的很久之前的日誌檔案。
只有運作記錄被刪除後,該記錄對應的日誌檔案才會被刪除。所以,該使用者升級一個月之後,records 目錄下對應的日誌檔案就能被刪除。
4. 業務日誌-診斷日誌
4.1 設定日誌級別
1)「業務日誌-診斷日誌」可設定日誌級別,日誌級別可選擇 ERROR、WARN、INFO,預設選擇 WARN 。如下圖所示:
2)「業務日誌-診斷日誌」目前僅作用於管道任務和定時任務。
3)對於管道任務和定時任務,支援調整單個任務的日誌匯出級別。具體請參見:定時任務單獨設定日誌匯出級別、管道任務單獨設定日誌匯出級別
4)若手動修改過任務級別的日誌配置,修改全局的日誌級別配置時,全局日誌的級別不會影響手動修改過日誌等級任務的級別。
4.2 備份業務日誌-診斷日誌
請參見本文 3.3 節內容。
4.3 清理業務日誌-診斷日誌
請參見本文 3.4 節內容。