1. 概述
1.1 版本
FineBI伺服器版本 | 功能變更 |
6.0 | - |
1.2 應用場景
BI 工程部署在伺服器上後,會因為各種原因導致當機。當機後若直接重啟沒有抓取 DUMP 檔案 ,很難定位到真實原因,進而無法快速解決問題和做一些防止再發生的預防措施,造成的時間和精力損失無法估計,對伺服器維運非常不友好。
FineBI提供「當機處理」功能。透過此功能,BI 工程可以自動生成 DUMP 檔案、同時可重新開機系統。
發生當機後,透過分析生成的 DUMP 檔案,可以快速定位當機原因,即時處理當機問題和做一些有效的預防措施,為使用者增加一道保險。
注1:「當機處理」功能僅支援維運平台部署的工程,或Tomcat中間軟體下的工程。
對於非 Tomcat 中間軟體部署的工程,或設計器自帶的工程,不支援「當機處理」功能。
注2:報表與 BI 整合的使用者在使用此功能時,優先呼叫 BI 工程的「當機處理」功能,禁用報表工程的「當機處理」功能,以保證不影響 BI 工程的運作。
1.3 功能簡介
超管登入FineBI系統,點選「管理系統>智慧維運>當機處理」,就可以看到平台端對應的功能模組。如下圖所示:
模組下功能分為當機自助精靈、運作監測、當機處理、記憶體堆疊匯出記錄、伺服器重啟記錄 5 部分。
注:當機處理頁面在平台端開啟時,載入時間較長,請耐心等待。
2 當機自助精靈
記錄報表工程的當機時間和當機原因,並提供對應的推薦處理方案。如下圖所示:
可能的當機原因和推薦處理方案如下表所示:
當機原因 | 推薦處理方案 |
記憶體上限溢位
| 1)排查範本、開啟並合理配置範本限制 2)使用健康巡檢檢查並合理配置堆內記憶體 健康巡檢功能請參見:健康巡檢 3)排查範本、開啟並合理配置範本限制 |
JDK附帶Bug | 更換為1.8.0_181及以上版本的JDK8 |
作業系統記憶體配置不合理 | 使用健康巡檢檢查並合理配置系統記憶體 健康巡檢功能請參見:健康巡檢 |
磁碟空間不足 | 請檢查磁碟空間並清理不必要檔案 磁碟擴容請參見:磁碟擴容 |
記憶體映射檔案數量設定過低 | 使用健康巡檢檢查記憶體映射檔案數量配置並使用推薦數值進行修改 健康巡檢功能請參見:健康巡檢 |
舊版本圖表使用的協力廠商引擎Bug | 將系統更新至最新版本 工程升級請參見:升級指南 |
有當機檔案但無法確定當機原因 | 上傳雲端維運日誌進行回饋 雲端維運功能請參見:雲端維運使用步驟 |
ssh跳出 | 更換啟動命令或用secureCRT命令列工具 工程啟動方法請參見:Linux中啟動FineBI |
取數導致的執行緒阻擋 | 使用抽數快取功能提升取數速度或使用範本助手功能檢查 抽數快取功能請參見:抽數快取介紹 範本助手功能請參見:範本檢查助手 |
日誌匯出阻擋 | 調高日誌級別或查看磁碟剩餘空間是否充足 日誌級別調整請參見:日誌簡介 磁碟擴容請參見:磁碟擴容 |
系統記憶體釋放時間過長 | 1)將堆記憶體調整為小於64GB的數值 堆記憶體調整方法請參見:健康巡檢 2)建議更換更高效能CPU 硬體設定推薦請參見:確認FineBI專案伺服器配置 |
3. 當機工具使用前提
如需使用第四章的當機處理功能,必須確定「執行檢查」的每一項都符合要求。
系統需要滿足一些條件,才能保證當機自動處理工具的正常運作。因此工程啟動後,會先對埠狀態、JDK環境、堆外記憶體、部署情況進行檢查。
檢查有問題則提醒使用者做相應修改或者禁用當機功能,無問題則持續穩定運作。如下圖所示:
「執行檢查」每項對應的檢查內容如下表所示:
注:若檢查結果為優,則提示「此項配置良好,無需調整」。
序號 | 檢查項 | 檢查出問題標準 | 修改建議 |
1 | 作業系統 | 當前系統非 Windows/Linux 系統 | 建議使用 Linux 系統以保證當機自動處理工具穩定運作 此狀況下,將不進行下面的四項檢查 |
2 | 埠 | 12100埠狀態異常(埠未開啟或被佔用) | 建議開放 12100 埠或設定其他埠以保證系統正常運作埠設定請參考本文 2.3.5 節 |
3 | JDK | 1)工程中有 非 Oracle jre 的 tools.jar,且工程中未配置 JDK(系統組態JDK有問題) 2)工程中無 tools.jar,且工程中未配置 JDK(系統組態JDK有問題) | 建議增加系統 JDK 配置/ tools.jar 設定以保證系統正常運作 JDK 和 tools.jar 設定請參考:Linux 下 Tomcat 伺服器獨立部署 |
4 | 堆外記憶體 | 堆外記憶體不足 | 強烈建議物理機總記憶體減去系統所在容器使用記憶體不小於 10GB |
5 | 部署方式 | 非 Tomcat 容器部署 | 建議使用 Tomcat 容器部署 |
當監測到作業系統、埠、JDK、堆外記憶體影響功能使用時,會透過「平台訊息」和平台右下角「彈窗訊息」提醒使用者。
點選「處理」即可跳轉到跳轉到「當機處理」平台配置頁面,進而對其進行相應的處理。
訊息提醒內容為:檢查到部分系統組態缺失或不合理,當機自動處理工具不可用,為保證功能正常運作,建議你即時處理。
4. 當機處理
如需使用 「當機處理」功能,必須確定第三章「運作檢查」的每一項都符合要求。
使用者可以在「當機處理」位置做一些配置設定,可設定的項為:當機自動處理、自動匯出記憶體堆疊、當機自動重啟、當機通知、埠設定。如下圖所示:
以下所有設定修改後需點選「儲存」按鈕才會生效。
4.1 當機自動處理
當系統組態滿足「運作監測」中的運作條件時,工具自動運作,此開關預設開啟。
當系統組態不滿足運作條件時,開關圖示灰化,不能編輯修改。
在工作時段(6:00-23:00),當工程主進程關閉5分鐘後,當機自動處理工具也跟隨關閉。
在非工作時段(0:00-6:00,23:00-24:00),工程主進程關閉,當機自動處理工具不跟隨關閉。
4.2 自動匯出記憶體堆疊
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,此項預設關閉,開啟後當發生當機時,會自動匯出當機日誌
支援匯出的當機日誌內容包括:堆疊、histo、dump
匯出位置為:當機節點所在伺服器下%Tomcat%\logs\FineLog\日期資料夾內
注:開啟後自動匯出當機日誌。如果擔心dump匯出時間長影響效能,可只選擇匯出堆疊和histo日誌。
4.3 當機自動重啟
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改。
若「當機自動處理」開啟,此項預設關閉,開啟後當發生當機時會自動重啟工程。
開關開啟時,會對工具狀態和當前系統情況做檢查。檢查是否為 Windows 作業系統,是否為 Windows 服務形式。
1)若系統為 Windows 作業系統且為 Windows 服務形式,彈窗提示:該功能暫不支援當前系統。如下圖所示:
點選確定和關閉按鈕後彈窗關閉,開關不開啟。
2)若系統為 Windows 作業系統且非Windows 服務形式,彈窗提示:當前系統可能會存在重啟失敗。如下圖所示:
點選確認或關閉按鈕後關閉彈窗,開關開啟。
檢查時,若以上問題同時存在,僅提示當前問題中主要度最高的一個,重要度排序為:該功能暫不支援當前系統>當前系統可能會存在重啟失敗。
4.4 當機通知
若「當機自動處理」未開啟,此項灰化處理,不能編輯修改;若「當機自動處理」開啟,此項預設關閉,開啟後,可配置簡訊提醒、平台訊息提醒、信箱提醒,當發生當機時會按配置的通知方式通知到使用者。
4.5 埠設定
「當機處理工具」預設埠為 12100,當 12100 埠異常時,可以在此處配置其他埠號。
埠號範圍要在1024 到 65535 之間,推薦12100。否則「當機處理工具」無法啟動,「當機處理」頁面無法開啟,且跳出錯誤提示:請輸入1024-65535 之間的數字,推薦12100。
輸入新的埠號後,點選「測試」,若新的埠號存在異常,則彈窗提示:埠異常,請重新設定。如下圖所示:
若埠無異常,則彈窗提示:埠可用,儲存後當機自動處理工具將在新埠重啟。如下圖所示:
5. 處理記錄
「記憶體堆疊匯出記錄」和「伺服器重啟記錄」分別記錄了自動生成 DUMP 檔案記錄和伺服器重啟的記錄。其中包括匯出(重啟)的開始時間、時長、是否成功、如果失敗,失敗的原因等。如下圖所示:
注:記錄中僅讀取最近一個月的當機處理記錄。