針對常見的維運監視訴求場景,給出現有的維運監視功能方案介紹,幫助客戶快速實現對於 FineReport 和 FineBI 應用的維運監視。
方案適用於已經完成部署的帆軟系統,將會展開介紹帆軟應用的日常維護、管理和監視方式。
帆軟應用對系統有一定的配置要求,如果配置不符合要求可能出現使用異常、當機等風險,因此需要定期對環境及應用的配置情況進行檢查,以確定應用的健康運作。
同時管理者需要關注應用的運作狀況,即時透過維運手段規避風險或在問題發生後定位並進行排除,實現應用的持續高可用。
本文方案將從以下幾個方面展開介紹帆軟應用的具體維運方式:
注:鑑於伺服器情況不同,沒有完全通用的解決方案。部分檢查項僅提供推薦配置值,請自行百度修改方案。
1)關注磁碟的效能和使用情況,防止影響業務的正常運作
2)關注磁碟剩餘空間,防止出現磁碟空間不足導致系統運作受影響
當應用出現異常時,當機可能會隨之發生
1)快速恢復應用
2)記錄當機日誌,進行問題定位和排查
本章主要介紹帆軟應用內的主要配置檔案資訊及其詳細說明。
1)檔案位置
%FRBI_HOME%\webapps\webroot\WEB-INF\config\db.properties
2)檔案內容
數據決策系統中除平台屬性配置以外的所有資訊,包括目錄樹設定、範本定時任務資訊等,均儲存於 FineDB 資料庫。
FineReport/FineBI 支援使用內建 FineDB 資料庫或啟動外接 FineDB 資料庫。
工程配置了外接資料庫後,方在WEB-INF/config中生成一個db.properties檔案。FineDB 資料庫是否外接由 db.properties 檔案控制。
3)檔案關鍵資訊
db.properties檔案中,常見配置關鍵字與其內容對應關係如下。
注:為了防止修改錯誤導致系統出錯,不建議手動修改db.properties檔案。
2:Read Commited 可讀已提交
1:Read Uncommited 可讀未提交
平台中有些配置資訊記錄在 FineDB 的 fine_conf_entity 表中,只能透過修改表欄位來進行更改。
使用者可透過「fine_conf_entity視覺化配置插件」安全地修改相關配置。
注:請勿使用該插件以外的方法修改 FineDB 檔案,有可能造成不可修復的 BUG,需自行承擔後果。
可修改的配置內容及修改方式請參見:FINE_CONF_ENTITY視覺化配置
建議管理者使用「健康巡檢」功能,對系統進行定期巡檢,確定應用所在的環境及應用內配置合理,以保證應用的正常運作。
巡檢內容包括系統檢查、系統運作狀態、埠檢查、網路檢查、服務聯通性檢查、業務檢查、環境檢查、磁碟檢查、非容器化部署檢查、虛擬機檢查。
系統檢查的檢查項包括:
巡檢項
編號
叢集節點是
否分別檢查
是否支援
快速修復
僅匯出資訊
檢查主頻大於等於 2.4 gh
建議主頻大於等於 2.4 gh
檢查覈心數大於 4 核
cpu 核心數推薦大於 4
維運平台部署的工程:
檢查bi-web/master/worker/fr/fdl的容器記憶體上限是否大於等於15.5GB
建議容器記憶體上限大於等於16G
非維運平台部署的工程:
檢查工程所在伺服器物理總記憶體是否大於等於15.5GB
建議伺服器物理記憶體上限大於等於16G
檢查是否關閉虛擬記憶體
匯出交換分割槽大小
建議關閉虛擬記憶體
CPU效能
檢查堆內記憶體的配置是否在推薦範圍內
檢查近一週FGC耗時中位數是否小於10S
如不滿足以上兩點,則CPU效能較差,建議增加CPU核心數、使用效能更好的CPU或適當降低最大堆內記憶體xmx,避免FGC時間過長影響使用
僅非維運平台部署的專案檢查該項
檢查/proc/sys/vm/panic_on_oom中的Linux核心參數vm.panic_on_oom是否等於0
建議調整/proc/sys/vm/panic_on_oom配置,透過sysctl -w vm.panic_on_oom=0 修改成不觸發panic
僅匯出信息
檢查/etc/abrt/abrt-action-save-package-data.conf檔案中ProcessUnpackaged的值
Linux伺服器
1)登入宿主機
使用合適的身分驗證方式(例如SSH、Console等),登入到運作容器的宿主機。
2)查看當前系統中是否啟動了swap分割槽
使用以下命令查看系統中已經啟動的swap分割槽資訊:
sudo swapon -s
如果匯出結果為空,則表示當前沒有啟動swap分割槽。3)關閉swap分割槽
使用以下命令關閉swap分割槽:
sudo swapoff -a
該命令將關閉所有已經啟動的swap分割槽。
4)永久禁用swap分割槽
為了避免系統在下一次啟動時自動啟動swap分割槽,需要在系統配置檔案中進行相應的修改。
以Ubuntu為例,可以按照以下步驟操作:
修改/etc/fstab檔案,找到含有swap的行並註釋掉或刪除該行。
執行以下命令更新grub引導程式:
sudo update-grub
5)驗證swap分割槽是否已經關閉
重啟系統後,可以再次執行sudo swapon -s命令查看系統中是否存在已經啟動的swap分割槽。
如果匯出結果為空,則表示swap分割槽已經成功關閉。
1)使用者查看「系統屬性>進階>效能>設定」
2)查看「進階>虛擬記憶體>更改」
3)取消勾選「自動管理所有驅動器的分頁檔案大小」
4)選擇「自訂大小」並設定
建議初始大小為物理記憶體1.5倍,最大值為物理記憶體2倍,請謹慎修改
系統運作狀態的檢查項包括:
包括:本次啟動的耗時
包括:目錄路徑
注:僅檢查業務工程節點,不檢查檔案伺服器
檢查工程WEB-INF下一層的每個資料夾大小
健康:不存在大於5G的資料夾
不健康:存在大於5G的資料夾
修改建議:
建議檢查確認對應資料夾的內容並進行清理
提示出超過5G大小的資料夾路徑
包括:插件名、插件版本、插件是否啟動
包括:工程是否註冊
包括:是/否
包括:工程各個模組的版本和JAR包日期
包括:目錄路徑、目錄剩餘可用空間
對於Windows系統、Tomcat容器下的工程:
檢查是否使用javaw後台運作tomcat
健康:使用javaw後台運作tomcat
不健康:未使用javaw後台運作tomcat
修改建議:建議使用javaw後台運作tomcat
1)WEB-INF資料夾存放着什麼
FineReport:FineReport安裝目錄結構
FineBI:FineBI安裝目錄結構
2)哪些檔案可清理
%BI_HOME%\webapps\webroot\WEB-INF\schedule
2)檔案用途:
儲存排程管理任務產生的中間檔案
3)可清理範圍:保留最近一年的檔案,其餘均可清理4)清理級別:
建議清理
檔案層級直接展示到具體的日期(日級別),使用者手動選擇需要清理的範圍即可
推薦清理12個月之外的檔案
12個月之內的檔案不顯示
%BI_HOME%\webapps\webroot\WEB-INF\treasures2)檔案用途:雲端健檢分析日誌打包檔案3)清理級別:
3)清理方式
管理者登入數據決策系統,點選「管理系統>智慧維運>磁碟維運>磁碟清理」。
選擇需要掃描的檔案類型,點選「開始掃描」,立即開始掃描可以手動清理的冗餘檔案。
原因分析:
Windows系統中,tomcat容器下部署的工程,如果不使用後台模式啟動,而是使用視窗模式啟動,可能會因為誤點視窗,導致視窗進入編輯插入狀態,阻擋日誌匯出,進而導致工程卡死。
因此建議Windows系統中,tomcat容器下部署的工程,tomcat使用後台模式啟動。
操作步驟:
先修改預設啟動模式為javaw。為了防止重複啟動,重新整理增腳本檢查啟動命令,按任意鍵即可結束腳本。
1)修改setclasspath.bat
開啟%Tomcat_HOME%\bin\setclasspath.bat,找到並修改set _RUNJAVA的值:
set _RUNJAVA="%JRE_HOME%\bin\javaw.exe"
2)修改catalina.bat
開啟%Tomcat_HOME%\bin\catalina.bat,在最後加上判斷提示:
set ENV_VAR_VALUE=%_EXECJAVA%
echo %ENV_VAR_VALUE% | findstr /C:"javaw" >nul
if %errorlevel% equ 0 (
echo tomcat is running in the background
pause
)
埠檢查的檢查項包括:
包括:埠號
檢查叢集埠是否暢通
健康:埠間暢通
不健康:埠存在不暢通
修改建議:叢集埠連結性狀態異常
檢查:
1)當機自動檢查是否開啟
2)當機埠是否暢通
優化建議:建議開啟當機檢查並保證埠可用
WebSocket 主要用於重新整理 token、使用者被踢出、平台訊息、記憶體和 CPU 顯示、平台日誌處當前系統線上人數、資料連結編輯狀態的確定。
WebSocket 不開放影響 socket 通訊,存取可能異常斷開。
使用者可根據自己的工程情況選擇合適的 WebSocket 埠配置方法,詳情請參見下表:
無需任何使用者操作,系統可自動使用Web容器自帶的WebSocket進行連結,埠複用http埠
只需使用者環境滿足生效條件,則自動使用該方案
若使用者環境不滿足生效條件,則可考慮自行配置socket.io方案
管理者登入帆軟應用,點選「管理系統>智慧維運>叢集配置」。
可查看叢集各個節點的埠,無法使用的節點飄紅。
可編輯節點埠,滑鼠懸浮即可出現編輯按鈕。
管理者登入維運平台,選擇維運專案,點選「當機>當機處理策略」。
可查看當機自動處理工具使用的埠。預設埠為12100。
可修改埠,點選「測試」,測試埠可用性,點選「儲存」即可。
檢查檔案伺服器、外接資料庫、狀態伺服器和應用之間通訊是否正常,是否能夠ping通,是否存在丟包情況。
磁碟檢查的檢查項包括:
包括:順序讀取的速度(若低於100,則不顯示具體數值,僅提示「速率小於100MB/S」)
注:windows系統下若權限不足,請手動使用命令檢查「winsat disk -drive 盤符 -seq -read」
包括:順序寫的速度(若低於100,則不顯示具體數值,僅提示「速率小於100MB/S」)
注:windows系統下若權限不足,請手動使用命令檢查「winsat disk -drive 盤符 -seq -write」
包括:每秒建立小檔案個數
包括:每秒刪除小檔案個數
1)FineReport:
健康:磁碟總大小≥100GB
不健康:磁碟總大小<100GB
修改建議:建議磁碟總大小高於100GB
2)FineBI:
健康:磁碟總大小≥400GB
不健康:磁碟總大小<400GB
修改建議:建議磁碟總大小高於400GB
包括:已使用的磁碟空間大小
健康:磁碟餘量高於10GB
不健康:磁碟餘量不足10GB
修改建議:磁碟餘量不足10GB,建議清理磁碟大檔案避免影響使用
健康:磁碟餘量高於50GB
不健康:磁碟餘量不足50GB
修改建議:磁碟餘量不足50GB,建議清理磁碟大檔案避免影響使用
健康:磁碟效能高於150MB/s
不健康:磁碟效能不足150MB/s
修改建議:磁碟效能較差,可能導致效能問題,建議取代為ssd等效能更好的磁碟
非容器化部署的檢查項包括:
包括:帳號稱
包括:快取資料夾、resources、assets、assist、finedb的權限
注:檔案伺服器權限不匯出。
健康:帆軟應用所需最大記憶體+其他進程使用記憶體<總物理記憶體
不健康:帆軟應用所需最大記憶體+其他進程使用記憶體≥總物理記憶體
修改建議:建議帆軟工程不要與其他應用服務共用伺服器,否則會有當機風險
健康:叢集檔案服務使用檔案伺服器
不健康:叢集檔案伺服器使用節點間同步
修改建議:建議叢集使用檔案伺服器取代節點間同步,否則會有效能和檔案一致等穩定性風險
環境檢查的檢查項包括:
健康:vm.max_map_count≥262144
不健康:vm.max_map_count<262144
修改建議:建議配置 vm.max_map_count 參數為 262144
1)FineReport/FineDataLink:
健康:open_files≥65535
不健康:open_files<65535
修改建議:建議open_files參數配置不低於65535
健康:open_files≥131070
不健康:open_files<131070
修改建議:建議open_files參數配置不低於131070
健康:overcommit_memory=0
不健康:overcommit_memory≠0
修改建議:建議vm.overcommit_memory參數配置為0
健康:overcommit_ratio=50
不健康:overcommit_ratio≠50
修改建議:建議vm.overcommit_ratio參數配置為50
檢查是否配置了export MALLOC_ARENA_MAX參數
健康:export MALLOC_ARENA_MAX=1
不健康:未配置/配置其他值
修改建議:建議配置export MALLOC_ARENA_MAX=1
健康:redis的淘汰策略是maxmemory-policy noeviction
不健康:redis的淘汰策略不是maxmemory-policy noeviction
修改建議:建議redis的淘汰策略設定為maxmemory-policy noeviction,否則可能因為redis的key被意外淘汰而造成不可預估的後果
健康:最大進程數nproc大於等於266240
不健康:最大進程數nproc小於266240
修改建議:建議最大進程數nproc參數配置不低於266240
1)參數簡介:
vm.max_map_count是一個Linux系統核心參數,用於控制在一個進程中允許mmap映射記憶體區域的最大數量。
如果該參數的值太小,那麼在使用一些應用程式時,可能會出現記憶體映射錯誤。
2)建議配置:
建議配置 vm.max_map_count 參數為 262144
3)修改方式:
在/etc/sysctl.conf檔案中新增/修改參數值
vm.max_map_count=262144
運作以下命令使更改生效
sysctl -p
open_files是指一個進程可以同時開啟的檔案描述符的最大數量。
檔案描述符是Unix系統中用於存取檔案(包括管道、套接字和其他檔案操作)的唯一識別符號。
建議FineReport和FineDataLink工程的open_files參數配置不低於65535
建議FineBI工程的open_files參數配置不低於131070
刪除系統級別限制
檢查/etc/profile檔案中,是否存在 ulimit -n xxx 相關語句
若存在,刪除相關語句,並使用 source /etc/profile 語句重新載入 shell 環境
修改使用者級別限制
開啟Linux的軟硬體限制檔案/etc/security/limits.conf,在檔案尾部新增如下程式碼:
* soft nofile 65535
* hard nofile 65535
上述命令中,hard表示系統的硬限制,soft表示使用者的軟限制。
重啟工程並重新登入
配置完成後,終端使用者重新登入,並重啟Tomcat工程,配置方可生效。
可使用ulimit -n命令,根據回傳值確認是否修改成功。
vm.overcommit_memory 是一個Linux核心參數,它控制了系統是否允許進程分配超過可用記憶體的記憶體量。
當參數值為0時,核心將檢查是否有足夠的可用記憶體來滿足提交的記憶體需求。如果有足夠的閒置記憶體,則允許進程繼續分配記憶體;否則分配請求將失敗並傳回錯誤。
建議vm.overcommit_memory參數配置為0
vm.overcommit_memory=0
vm.overcommit_ratio 是一個 Linux 核心參數,它指定了系統 VMware 超大頁管理器(Memory Ballooning)和 Swap 空間使用的比例。
當參數值為50時,核心使用適當的 Swap 兩倍大小作為另一個備用空間,用於模擬物理記憶體。
建議vm.overcommit_ratio參數配置為50
vm.overcommit_ratio=50
為了防止glibc中的記憶體泄漏,可以透過在環境變數中設定MALLOC_ARENA_MAX來限制glibc在分配和釋放動態記憶體時使用的堆空間數量。
建議配置export MALLOC_ARENA_MAX=1
關閉Tomcat伺服器。
進入%Tomcat_HOME%/bin目錄,開啟 startup.sh 檔案。
在檔案開頭新增/修改行:export MALLOC_ARENA_MAX=1
儲存對 startup.sh 檔案的修改並關閉。
在終端中運作 startup.sh 檔案,重啟Tomcat並應用新的環境變數設定。
1)策略簡介:
Redis淘汰策略設定為noeviction時,當達到最大記憶體限制時,不會淘汰任何現有資料,並拒絕新的寫入操作(包括寫命令、資料更新等)
使用該策略可以確定所有資料都不會被自動刪除,進而保持資料的完整性,避免記憶體不足導致資料丟失。
2)修改方式:
在 Redis 安裝目錄下,找到 redis.conf 配置檔案,找到配置項 maxmemory-policy,將其設定為 noeviction
修改後,需要重啟 Redis 服務以使配置生效。
在 Linux 系統中,nproc 表示當前使用者可以啟動的最大進程數。這個限制通常在系統級別設定,但也可以針對單個使用者進行配置。
如果 nproc 限制過低,當達到 nproc 的限制,可能會導致應用程式無法啟動新的進程,進而影響使用者體驗或系統功能。
建議最大進程數 nproc 參數配置不低於 266240
以 root 使用者身分編輯 /etc/security 或 /etc 資料夾下的 limits.conf檔案
新增或修改以下行(username 是要設定限制的帳號,請自行修改。soft 是軟限制,是預設值。hard 是硬限制,是最大值):
# 對特定使用者設定 nproc 限制
username soft nproc 266240
username hard nproc 266240
# 對所有使用者設定 nproc 限制
* soft nproc 266240
* hard nproc 266240
Java虛擬機的檢查項包括:
fr、fdl:建議配置JVM NIO佔用2GB
bi-web:建議配置JVM NIO佔用2GB
bi-engine-worker:建議配置JVM NIO佔用xmx*0.4GB
bi6.0且小版本在6.0.16及之後:建議配置JVM NIO佔用xmx*0.4GB
bi6.0且小版本在bi6.0.16之前:建議配置JVM NIO佔用4GB
建議JVM fineIO讀記憶體使用堆外記憶體設定為2G
建議JVM fineIO寫記憶體使用堆外記憶體設定為1G
1)bi-web、fr、fdl
建議 JVM 使用垃圾回收器類型為 ParallelScavenge
2)bi-engine-worker、bi-engine-master
如使用JDK8,建議 JVM 使用垃圾回收器類型為 ParallelScavenge
如使用JDK11,建議 JVM 使用垃圾回收器類型為 G1GC
健康:不配置DisableExplicitGC參數
不健康:配置了DisableExplicitGC參數
修改建議:建議取消DisableExplicitGC參數配置
bi-web、fr、fdl:建議使用小版本在202及以上的JDK8
bi-engine-worker、bi-engine-master:建議使用JDK11,或小版本在202及以上的JDK8
健康:已配置-Djava.awt.headless=true
不健康:未配置-Djava.awt.headless=true
修改建議:建議配置 -Djava.awt.headless=true 以啟動 headless 模式
健康:已配置HeapDumpOnOutOfMemoryError及HeapDumpPath
不健康:未配置HeapDumpOnOutOfMemoryError及HeapDumpPath
修改建議:建議配置HeapDumpOnOutOfMemoryError及HeapDumpPath以保證正常匯出dump
健康:-XX:PerBytecodeRecompilationCutoff = -1
不健康:-XX:PerBytecodeRecompilationCutoff≠-1
修改建議:建議配置-XX:PerBytecodeRecompilationCutoff=-1
健康:-XX:PerMethodRecompilationCutoff = -1
不健康:-XX:PerMethodRecompilationCutoff≠ -1
修改建議:建議配置-XX:PerMethodRecompilationCutoff=-1
注:FineBI特有檢查項
健康:非exe方式部署不健康:exe方式部署修改建議:建議使用web容器方式部署。
FR:
健康:-XX:ReservedCodeCacheSize大於等於512m
不健康:-XX:ReservedCodeCacheSize小於512m
修改建議:建議配置-XX:ReservedCodeCacheSize=512m
BI:
健康:-XX:ReservedCodeCacheSize大於等於1024m
不健康:-XX:ReservedCodeCacheSize小於1024m
修改建議:建議配置-XX:ReservedCodeCacheSize=1024m
健康:-Duser.country=CN
不健康:-Duser.country≠CN
修改建議:建議配置-Duser.country=CN
健康:-Duser.language=zh
不健康:-Duser.language≠zh
健康:-Dsun.zip.disableMemoryMapping=true
不健康:-Dsun.zip.disableMemoryMapping≠true
健康:-XX:NewRatio=2
不健康:-XX:NewRatio≠2
修改建議:建議堆內老年代與新生代大小比例為 2,即-XX:NewRatio=2
健康:-Xss小於等於1024
不健康:-Xss大於1024
健康:未配置參數 -agentlib:jdwp 和 -Xrunjdwp
不健康:配置了參數 -agentlib:jdwp 和 -Xrunjdwp
健康:
fr、fdl、bi6:堆內記憶體小於等於32766m或大於等於48GB
bi-web、bi-engine-worker、bi-engine-master:堆內記憶體小於等於32766m
為保證應用回應效能,建議配置為32766m或以內
bi6額外提醒:如果需要使用更大記憶體,在保證物理機記憶體充足的情況下,可以配置為48G~64G,但可能帶來一定的回應效能下降
健康:Xms=Xmx
不健康:Xms≠Xmx
修改建議:建議配置Xms=Xmx
fr、fdl、bi6:
健康:-XX:MaxMetaspaceSize≥2G
不健康:-XX:MaxMetaspaceSize<2G,或未配置
修改建議:建議最大元資料空間設定為2g
bi-web、bi-engine-worker:
健康:-XX:MaxMetaspaceSize≥1G
不健康:-XX:MaxMetaspaceSize<1G,或未配置
修改建議:建議最大元資料空間設定為1g
健康:dump匯出目錄剩餘磁碟 > 堆記憶體*2
不健康:dump匯出目錄剩餘磁碟≤堆記憶體*2
修改建議:建議清理「dump輸出目錄」的磁碟空間至「2*堆記憶體」以保證正常匯出dump
1)建議值
2)修改方式
NIO由-XX:MaxDirectMemorySize這個參數控制。請根據自身工程部署情況選擇修改方法。
維運平台部署的專案,預設為工程配置了該參數,一般無需修復
如存在問題,請使用「維運平台>專案>健康巡檢」介面的「快速修復」按鈕進行修復
非維運平台部署的專案
作業系統為Linux
中間軟體類型為Tomcat
優先推薦使用「維運平台>專案>健康巡檢」介面的「快速修復」按鈕進行修復
若無建立、讀寫檔案的權限,可手動配置:
1)進入%Tomcat_HOME%/bin目錄,尋找名為setenv.sh的檔案。
如果檔案不存在,可以建立一個新的setenv.sh檔案。
2)在檔案末尾新增以下行:
JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=4g"
3)配置完成後重啟工程生效。
作業系統為Windows
1)進入%Tomcat_HOME%/bin目錄,尋找名為setenv.bat的檔案。
如果檔案不存在,可以建立一個新的setenv.bat檔案。
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=4g
建議JVM fineIO讀記憶體使用堆外記憶體設定為2G。
fineIO 讀記憶體由-Dfineio.read_mem_limit這個參數來設定。請根據自身工程部署情況選擇修改方法。
讀記憶體的預設單位為 GB,支援小數,但不支援使用 g、m 等。建議讀記憶體為寫記憶體的2-3倍,快取大小建議與寫記憶體大小一致。
維運平台部署的專案,預設為工程的bi6/fr/fdl組件配置了該參數,一般無需修復
JAVA_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2
建議JVM fineIO寫記憶體使用堆外記憶體設定為1G。
fineIO 寫記憶體由-Dfineio.write_mem_limit這個參數來設定。請根據自身工程部署情況選擇修改方法。
寫記憶體的預設單位為 GB,支援小數,但不支援使用 g、m 等。建議讀記憶體為寫記憶體的2-3倍,快取大小建議與寫記憶體大小一致。
JAVA_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"
set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1
對於帆軟應用組件(bi-web、fr、fdl)
預設使用JDK8,建議 JVM 使用垃圾回收器類型為 ParallelScavenge
對於bi計算引擎組件(bi-engine-worker、bi-engine-master)
預設使用JDK11,建議 JVM 使用垃圾回收器類型為 G1GC
支援使用JDK8,建議 JVM 使用垃圾回收器類型為 ParallelScavenge
本節介紹設定垃圾收集器為Parallel Scavenge(並行收集器)的方法。
如需設定為G1GC,將下文語句中的ParallelGC調整為G1GC即可
1)進入專案掛載目錄/fanruanxxx/fr/mount目錄,尋找名為setenv.sh的檔案
2)在檔案末尾新增/修改以下行:
JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParallelGC
-XX:+DisableExplicitGC參數的作用是禁用 System.gc()。System.gc() 是一種保護機制,例如堆外記憶體滿時清理它的堆內引用物件。
建議不對 DisableExplicitGC 參數進行配置,此項配置會導致 System.gc()被禁用,影響系統穩定性。
本節介紹刪除 DisableExplicitGC 參數的步驟。
維運平台部署的專案,預設不配置該參數,一般無需修復
若無讀寫檔案的權限,可手動配置:
1)進入%Tomcat_HOME%\bin目錄,尋找名為catalina.sh和setenv.sh的檔案。
2)在檔案中尋找是否存在XX:+DisableExplicitGC,若存在,刪除相關配置
3)儲存修改後重啟工程生效。
1)進入%Tomcat_HOME%\bin目錄,尋找名為catalina.bat和setenv.bat的檔案。
建議使用小版本在202及以上的JDK8
預設使用且建議使用JDK11
支援使用小版本在202及以上的JDK8
2)檢查方式
本文僅介紹JDK版本檢查方式,如不符合版本要求,請自行查閱相關產品文檔升級/重裝JDK
維運平台部署的專案
帆軟伺服器部署包部署的專案
使用者自行準備的JDK部署的專案
headless 模式是系統的一種工作模式,如果系統屬性 java.awt.headless被設定true,那麼headless工具包就會被使用。
建議配置 -Djava.awt.headless=true 以啟動 headless 模式
本節展示啟動 headless 模式的步驟。
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true
建議配置HeapDumpOnOutOfMemoryError 及 HeapDumpPath以保證正常匯出dump
-XX:+HeapDumpOnOutOfMemoryError參數表示當JVM發生OOM時,自動生成DUMP檔案。
-XX:HeapDumpPath=${目錄}參數表示生成dump檔案的路徑,也可以指定檔案名稱,例如:-XX:HeapDumpPath=${目錄}/java_heapdump.hprof。
如果不指定檔案名稱,預設為:java_<pid>_<date>_<time>_heapDump.hprof。
本節展示設定dump匯出的步驟。
2)在檔案末尾新增以下行(請將/path/to/dump/directory取代為你自己儲存 Heap Dump 檔案的目錄):
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump/directory"
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump/directory
與下一節「0810 PerMethodRecompilationCutoff配置」一起修改,請參考下一節。
沒有配置 RecompilationCutoff 參數/配置的 RecompilationCutoff 參數太小,可能會導致 spider 引擎資料更新緩慢。
建議recompilationCutoff相關參數配置值為-1
本節展示設定 recompilationCutoff 參數的步驟。
JAVA_OPTS="$JAVA_OPTS -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1"
set JAVA_OPTS=%JAVA_OPTS% -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1
注:僅FineBI系統檢查該項
優先推薦使用維運平台部署FineBI工程。詳情請參見:部署新專案
如不使用維運平台部署,至少請使用web容器方式部署FineBI工程。詳情請參見:Linux 下 Tomcat 伺服器部署包
ReservedCodeCacheSize參數是調整記憶體大小的一個設定參數,值的大小設定直接影響到Code Cache的大小。
如果Code Cache的空間不足,可能會導致JVM無法正常運作,導致效能持續降低。
建議配置-XX:ReservedCodeCacheSize=512m
本節介紹修改ReservedCodeCacheSize參數的方法。
JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=512m"
set JAVA_OPTS=%JAVA_OPTS% -XX:ReservedCodeCacheSize=512m
與下一節「0815 語言配置-Duser.language」一起修改,請參考下一節。
為了防止中文出現亂碼現象,要配置好語言編碼。
建議配置-Duser.country=CN、-Duser.language=zh
JAVA_OPTS="$JAVA_OPTS -Duser.country=CN -Duser.language=zh"
set JAVA_OPTS=%JAVA_OPTS% -Duser.country=CN -Duser.language=zh
配置該參數,可預防 jvm crash
建議配置-Dsun.zip.disableMemoryMapping=true
2)在檔案中新增以下行:
JAVA_OPTS="$JAVA_OPTS -Dsun.zip.disableMemoryMapping=true"
set JAVA_OPTS=%JAVA_OPTS% -Dsun.zip.disableMemoryMapping=true
堆內老年代與新生代大小比例建議為 2(-XX:NewRatio=2,JVM的預設值);NewRatio 大小正常生效需要使用者不限制新生代大小。
在設定-Xmx、-Xms參數的位置,新增 NewRatio 的值即可,本節展示設定 NewRatio 的步驟。
2)在設定-Xmx、-Xms參數的位置,新增 NewRatio 的值,例如:
JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -XX:NewRatio=2"
set JAVA_OPTS=%JAVA_OPTS% -Xms512M -Xmx1024M -XX:NewRatio=2
建議單執行緒使用棧空間不超過1024KB,即 -Xss 的值不超過 1024 。
在設定-Xmx、-Xms參數的位置,新增 -Xss 的值即可,本節展示設定 -Xss 的步驟。
請使用「維運平台>專案>健康巡檢」介面的「快速修復」按鈕進行修復
2)在設定-Xmx、-Xms參數的位置,新增 Xss 的值,例如:
JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss1024K"
set JAVA_OPTS=%JAVA_OPTS% -Xms512M -Xmx1024M -1024K
debug模式由兩個參數控制:-agentlib:jdwp 和 -Xrunjdwp,刪除這兩個參數即可取消debug模式
建議取消debug模式
本文介紹如何取消debug模式。
維運平台部署的專案,預設不配置該參數,一般無需修復。
2)在檔案中尋找是否存在-agentlib:jdwp 和 -Xrunjdwp參數,若存在,刪除相關配置
與下一節「0821 xms配置」一起修改,請參考下一節。
1)參數說明
-Xmx 參數:最大堆內記憶體
-Xms 參數:初始化記憶體大小
注1:Xmx/Xms 與數字之間不要有空格
注2:建議配置Xms=Xmx,以防止記憶體擴容失敗情況
若無建立、讀寫檔案的權限,可手動配置:修改記憶體
中間軟體類型為其他
WebLogic伺服器配置修改
WebSphere伺服器配置修改
Resin伺服器記憶體修改
JBoss伺服器記憶體修改
元資料空間(Metaspace)是 Java 虛擬機(JVM)用於儲存類元資料的區域。在 JVM 中,元資料包括類的結構資訊、方法資訊、欄位資訊等。
元資料空間配置 MaxMetaspaceSize 用於設定元資料空間的最大大小。當元資料空間超過這個限制時,JVM 會發生垃圾回收以釋放不再使用的元資料。
fr、fdl、bi6:建議配置 MaxMetaspaceSize 參數為 2G
bi-web、bi-engine-worker:建議配置 MaxMetaspaceSize 參數為 1G
本節展示設定 MaxMetaspaceSize 的步驟。
JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=2G"
2)在檔案末尾添加以下行:
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxMetaspaceSize=2G
服務聯通性檢查的檢查項包括:
業務檢查的檢查項包括:
檢查finedb資料庫的類型
健康:finedb遷移到了外接資料庫
不健康:finedb使用內建HSQL資料庫
修改建議:建議將finedb遷移至更穩定的外接資料庫中。
檢查「管理系統>智慧維運>平台日誌>全局設定」中的「系統日誌級別」
健康:日誌級別高於debug級別
不健康:日誌級別為debug級別
修改建議:建議設定日誌級別為 info。
檢查「管理系統>智慧維運>平台日誌>全局設定」中「自動清理」週期
健康:配置了自動清理,自動清理超過三個月的日誌
不健康:未配置自動清理
修改建議:建議開啟平台日誌自動清理並配置清理週期小於六個月。
檢查「管理系統>智慧維運>備份還原>全局設定」中設定的自動備份可佔用磁碟大小
健康:各模組自動備份可佔磁碟不超過1024M
不健康:各模組自動備份可佔磁碟超過1024M
修改建議:建議各模組自動備份可佔磁碟不超過1024M。
檢查「管理系統>智慧維運>備份還原>全局設定」中設定的自動備份保留數量
健康:各模組成功/失敗自動備份可分別保留不超過5份
不健康:各模組成功/失敗自動備份可分別保留超過5份
修改建議:建議自動備份預設儲存不超過5份。
檢查排程管理任務>調度物件中,檔案處理方式的設定
健康:僅保留最近一次或任務結束即清理
不健康:其他檔案處理方式
修改建議:建議排程管理調度物件檔案處理設定為「僅保留最近一次」。
檢查「管理系統>系統管理>標準>BI參數」 中的「資料存取量」參數
健康:不超過100w
不健康:超過100w
修改建議:建議資料存取量不超過100w。
檢查系統的spider_fast_compute_limit_unit參數值
健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit參數值不超過10000000
不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit參數值超過10000000
檢查系統的spider_fast_compute_limit_memory參數值
健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory參數值不超過500000000
不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory參數值超過500000000
檢查系統的spider_update_fast_compute_limit_cell參數值
健康:DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell參數值不超過100000000
不健康:DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell參數值超過100000000
檢查系統的spider_fast_compute_limit_row參數值
健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row參數值不超過10000000
不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row參數值超過10000000
檢查系統的spiderConfig.spark_driver_maxResultSize參數值
健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize參數值不超過10000000
不健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize參數值超過10000000
檢查系統的spark_memory_fracrtion參數值
修改建議:建議spark_memory_fraction 參數設定不超過0.3*堆內記憶體的1/8且最大不超過0.6
包括finedb外接資料庫的資料庫編碼/字元集
外接資料庫配置步驟請參見:配置外接資料庫
檢查「管理系統>智慧維運>叢集配置>參數配置」中的內部轉發參數
叢集參數配置請參見:叢集參數配置
檢查「管理系統>系統管理>標準>抽取參數」 中的「更新高效能時間區間」參數
BI參數配置請參見:BI/Spider参数
檢查系統是否配置二級快取
二級快取開啟及配置請參見:指定ehcache快取路徑
檢查「管理系統>智慧維運>負載管理>範本限制>通用限制」中的sql執行時長限制
健康:開啟了sql執行時長限制
不健康:未開啟sql執行時長限制
修改建議:建議開啟系統管理-智慧維運-負載管理-範本限制-通用限制-sql執行時長限制功能。
檢查「管理系統>智慧維運>負載管理>範本限制>通用限制」中的單範本儲存格限制
健康:開啟了單範本儲存格限制
不健康:未開啟單範本儲存格限制
修改建議:建議開啟系統管理-智慧維運-負載管理-範本限制-通用限制-單範本儲存格限制功能。
檢查「管理系統>智慧維運>負載管理>範本限制>通用限制」中的匯入Excel儲存格限制
健康:開啟了匯入Excel儲存格限制
不健康:未開啟匯入Excel儲存格限制
修改建議:建議開啟系統管理-智慧維運-負載管理-範本限制-通用限制-匯入excel儲存格限制功能。
檢查「管理系統>智慧維運>負載管理>範本限制>通用限制」中的單資料集行數限制
健康:開啟了單資料集行數限制
不健康:未開啟單資料集行數限制
修改建議:建議開啟系統管理-智慧維運-負載管理-範本限制-通用限制- 單資料集行數限制功能。
檢查「管理系統>智慧維運>負載管理>負載監視」中是否開啟「智慧預警」
詳情請參見:負載管理
檢查是否存在髒資料
健康:0條髒資料
不健康:x條髒資料
修改方法:有X條髒資料,建議在「BI工具」-「檢查」-「髒資料」中進行排查清理
檢查系統是否開啟雲端健檢分析
雲端健檢分析功能請參見:雲端健檢分析
檢查「管理系統>系統管理>登入」中是否開啟「密碼強度限制」
健康:開啟了密碼強度限制
不健康:未開啟密碼強度限制
修改建議:未開啟密碼強度限制,密碼強度較低可能容易被攻擊,導致安全問題,建議在[管理系統]-[系統管理]-[登入]中開啟密碼強度限制
檢查「管理系統>智慧維運>負載管理>範本限制」中是否開啟「提交記錄數限制」
健康:開啟了提交記錄數限制
不健康:未開啟提交記錄數限制
修改建議:建議開啟管理系統-智慧維運-記憶體管理-範本限制-通用限制- 提交記錄數限制
健康:開啟了單個圖表匯出資料量限制
不健康:未開啟單個圖表匯出資料量限制
健康:未單獨放寬限制
不健康:為部分範本放寬限制
修改建議:不建議設定放寬範本,可能因放寬範本導致系統資源佔用過多最終當機
檢查「管理系統>抽數快取」中是否開啟緩存
健康:開啟快取
不健康:未開啟快取
修改建議:建議開啟抽數快取中的開啟快取設定
僅當上一步抽數快取開啟後,檢查該項
檢查「管理系統>抽數快取」中的快取記憶體空間限制值
檢查「管理系統>系統管理>標準」中是否開啟「平行計算報表塊」
健康:開啟平行計算報表塊
不健康:未開啟平行計算報表塊
修改建議:建議開啟管理系統-系統管理-標準-決策報表計算全局設定-平行計算報表塊功能
健康:開啟當機自動處理
不健康:未開啟當機自動處理
修改建議:建議開啟管理系統-智慧維運-當機處理-當機自動處理工具-當機自動處理功能
健康:開啟當機匯出記憶體堆疊
不健康:未開啟當機匯出記憶體堆疊
修改建議:建議開啟管理系統-智慧維運-當機處理-當機自動處理工具-當機匯出記憶體堆疊功能
檢查系統中以下參數值
DistributedOptimizationConfig.spiderConfig.spark_memory_fraction
SystemOptimizationConfig.spiderConfig.threadPoolStrategy
SystemOptimizationConfig.tableLoadThreadPoolNum
DistributedOptimizationConfig.spiderConfig.spider_high_performance_resource_time
SystemOptimizationConfig.baseTableLoadDynamicThreadCoreSizeStr
SystemOptimizationConfig.fastTableLoadDynamicThreadCoreSizeStr
systemOptimizationConfig.optimizeSqlMaxComplexity
工程版本在FR11.0.21/BI6.0.15之前,未開啟 Gzip 壓縮
工程版本在FR11.0.21/BI6.0.15及之後,無論是否開啟 Gzip 壓縮,均為健康情況
不健康:
工程版本在FR11.0.21/BI6.0.15之前,開啟了 Gzip 壓縮
建議關閉gzip或升級至FR11.0.21/BI6.0.15及之後的版本,否則可能會出現當機風險
DistributedOptimizationConfig.spiderConfig.spider_query_timeout_open
如為三節點及以上叢集環境,且工程當月日均存取量大於1W
建議將logdb切換至elasticsearch,避免出現效能及當機問題
ExecuteRecordConfiguration.asyncRecord
DistributedOptimizationConfig.spiderConfig.spark_sql_constraintPropagation_enabled
DistributedOptimizationConfig.spiderConfig.spider_restrictions_column_long_text
DistributedOptimizationConfig.spiderConfig.spider_query_condition_count_restriction
SystemOptimizationConfig.shutdownCacheEngine
健康:外接配置庫預設連結池大小,大於等於100
不健康:外接配置庫預設連結池大小,小於100
修改建議:建議外接配置庫預設連結池大小設定為100(具體配置方法,請查閱對應資料庫產品的說明文檔)
注:僅FineBI6.1系統檢查該項
檢查所有bi-web、bi-engine-worker、bi-engine-master組件的週開始於設定是否一致
健康:週開始於設定一致
不健康:週開始於設定不一致
檢查所有bi-web、bi-engine-worker、bi-engine-master組件的中文排序設定是否一致
維運平台對專案進行當機自動重啟、自動生成dump檔案等操作,依賴專案內建當機處理工具
因此必須確定當機處理工具正常運作,否則相關功能可能都無法使用
檢查外接配置庫的db.properties檔案中的指定參數值
如參數值不滿足要求,則判定為不健康
管理者登入帆軟應用,點選「管理系統>系統管理>標準>外接資料庫」,將finedb遷移至更穩定的外接資料庫中。
外接資料庫遷移的具體操作步驟請參見:配置外接資料庫
管理者登入帆軟應用,點選「管理系統>智慧維運>平台日誌>全局設定」。
在「系統日誌級別」中設定日誌級別為 info,點選「儲存」即可。
日誌級別設定請參見:日誌簡介
在「操作日誌清理」中開啟「自動清理」並配置清理週期小於六個月。
操作日誌自動清理設定請參見:日誌簡介
管理者登入帆軟應用,點選「管理系統>智慧維運>備份還原>全局設定」。
在「自動備份」中,建議各模組自動備份可佔磁碟不超過1024M。備份還原設定請參見:備份還原
在「自動備份」中,建議自動備份預設儲存不超過5份。備份還原設定請參見:備份還原
管理者登入帆軟應用,在「排程管理」中,對「排程管理任務>調度物件」的檔案處理方式設定為「僅保留最近一次」。
排程管理任務設定請參見:排程管理任務設定
管理者登入帆軟應用,點選「管理系統>系統管理>標準>BI參數」 。
建議「資料存取量」參數值不超過100w。BI參數配置請參見:BI/Spider參數
「快速分析儲存格數限制」的配置資訊記錄在 FineDB 的 fine_conf_entity 表中。
請透過「fine_conf_entity視覺化配置」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit參數值不超過10000000
點選「儲存」,並重啟FineBI工程,配置生效。
「快速分析記憶體大小限制」的配置資訊記錄在 FineDB 的 fine_conf_entity 表中。
請透過「fine_conf_entity視覺化配置」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory參數值不超過500000000
「快速分析更新儲存格數限制」的配置資訊記錄在 FineDB 的 fine_conf_entity 表中。
請透過「fine_conf_entity視覺化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell參數值不超過100000000
請透過「fine_conf_entity視覺化配置」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row參數值不超過10000000
「spark計算結果記憶體大小限制」的配置資訊記錄在 FineDB 的 fine_conf_entity 表中。
請透過「fine_conf_entity視覺化配置」,配置DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize參數值不超過10000000
管理者登入帆軟應用,點選「管理系統>智慧維運>負載管理>範本限制>通用限制」。
建議開啟sql執行時長限制功能。範本限制請參見:範本限制
建議開啟單範本儲存格限制功能。範本限制請參見:範本限制
建議開啟匯入excel儲存格限制功能。範本限制請參見:範本限制
建議開啟單資料集行數限制功能。範本限制請參見:範本限制
管理者登入帆軟應用,點選「BI工具>檢查>髒資料」。
檢查系統中的髒資料,並進行排查清理。
管理者登入帆軟應用,點選「管理系統>系統管理>登入」 。
在「密碼策略設定」中,建議開啟「密碼強度限制」,並自訂設定密碼強度。
詳情請參見:密碼策略設定
管理者登入帆軟應用,點選「管理系統>智慧維運>負載管理」 。
在「範本限制」中,建議開啟「提交記錄數限制」。
詳情請參見:範本限制
在「範本限制」中,建議開啟「單個圖表匯出資料量限制」。
在「範本限制」中,不建議為部分範本「放寬限制」。
管理者登入帆軟應用,點選「管理系統>抽數快取」,建議開啟緩存。
詳情請參見:抽數快取
管理者登入帆軟應用,點選「管理系統>系統管理」 。
在「標準」中,建議開啟「平行計算報表塊」。
管理者登入帆軟應用,點選「管理系統>智慧維運>當機處理」 。
在「當機自動處理工具」中,建議開啟「當機自動處理」。
詳情請參見:當機處理
在「當機自動處理工具」中,建議開啟「當機匯出記憶體堆疊」。
1)優先建議升級至 FR11.0.21/BI6.0.15 及之後的版本,即可自行按需決定是否開啟「Gzip壓縮」
2)如無法升級,請登入帆軟應用,點選「管理系統>系統管理>標準」,關閉「Gzip壓縮」,點選「儲存」
帆軟應用的操作日誌,預設儲存於swift(logdb)
如為三節點及以上叢集環境,且工程當月日均存取量大於1W,建議將操作日誌切換至elasticsearch儲存,避免出現效能及當機問題。
付費使用者請自行準備ElasticSearch,並聯系帆軟技術支援協助切換。技術支援聯絡方式:「服務>線上支援」
檢查FineBI6.1專案中的所有bi-web、bi-engine-worker、bi-engine-master組件的週開始於設定是否完全一致。
1)修改bi-web的週開始於設定
管理者登入FineBI系統,點選「管理系統>系統管理>標準」。
修改週開始於設定:星期日/星期一
2)修改bi-engine-worker、bi-engine-master的週開始於設定
管理者登入維運平台,點選對應專案。點選「維護>組件管理」。
找到對應組件,點選「更改配置」按鈕,修改週開始於設定:sunday/monday
檢查FineBI6.1專案中的所有bi-web、bi-engine-worker、bi-engine-master組件的中文排序配置是否完全一致。
1)修改bi-web的中文排序設定
管理者登入FineBI系統,點選「管理系統>系統管理>BI參數」。
在基礎功能配置中,支援開關中文排序
關閉:代表bytes,表示關閉中文排序
開啟:代表pinyin,表示開啟中文排序,按照拼音排序
2)修改bi-engine-worker、bi-engine-master的中文排序設定
找到對應組件,點選「更改配置」按鈕,修改排序設定:
bytes:表示關閉中文排序
pinyin:表示開啟中文排序,按照拼音排序
維運平台對專案進行當機自動重啟、自動生成dump檔案等操作,依賴專案內建當機處理工具。
因此必須確定當機處理工具正常運作,否則相關功能可能都無法使用。
如檢查當機處理工具運作異常,請參考文檔 確定當機處理工具可用
檢查外接配置庫的db.properties檔案中的指定參數值,如參數值不滿足要求,則判定為不健康。
1)健康標準
最小閒置連結數
連結池最小連結數量
最大等待時間
獲取連結時最大等待時間,單位毫秒
開啟閒置回收器檢驗
連結池中的最小閒置連結數以內的連結,閒置時間超過minEvictableIdleTimeMillis,則會執行keepAlive操作
獲取連結前檢驗
申請連結時檢查連結是否有效,做了這個配置會降低效能
歸還連結前檢驗
歸還連結時檢查連結是否有效,做了這個配置會降低效能
校驗語句的逾時時間,單位秒
防止連結逾時而一直等待
閒置連結可用性定期檢查
檢查到需要留下的連結保證其可用,解決資料庫或者防火牆主動斷開長時間不活躍連結的場景
控制優先讀取jvm參數還是優先讀取db.properties
2)修改方法
使用者需要透過手動修改db.properties檔案中的參數值,以修復該檢查項
該操作可能存在一定危險性,付費使用者請聯絡帆軟技術支援協助處理
1、備份工程
維運平台部署的專案:備份專案
非維運平台部署的專案:工程備份還原方案 3.1節
2、關閉工程
維運平台部署的專案:組件管理
非維運平台部署的專案:關閉或重啟FineBI工程
3、修改db.properties
開啟工程/webroot/WEB-INF/config目錄下的db.properties,根據上文的參數,對參數值進行修正,修改後儲存。
如為叢集工程,請對每個工程節點下的db.properties進行同步
4、啟動工程
在應用日常的正常運作程式中,維護交易相對簡單,在有需要的時候能夠查看應用的運作日誌,或查看應用的各項監視指標是否存在異常即可
應用日常的維護工作中,經常會需要對應用進行啟停重啟等操作。
單機環境依賴較少,無嚴格順序需求。
叢集環境相關組件較多,為儘量降低應用使用的風險,請儘量按以下順序進行啟停
由於應用的正常運作對組件有依賴,因此需要先啟動相關組件,再啟動應用。順序為:
1)負載均衡組件(Nginx)
2)狀態伺服器組件(Redis)
3)檔案伺服器組件(FTP)
4)外接資料庫組件(Mysql)
5)帆軟應用(叢集依次啟動各節點即可)
各組件和應用可以配置開機自啟動,便於在重啟伺服器後自動啟動恢復服務:
Redis叢集開機自啟動
Redis單機開機自啟動
Nginx 開機自啟動腳本
Linux下Tomcat開機自啟動
Windows下Tomcat開機自啟動
對於應用的停止順序沒有嚴格要求,但由於組件的關閉會直接導致應用不可用,因此建議先關閉帆軟應用(kill命令避免進程殘留),再關閉各個組件
1)內容說明
帆軟應用通常涉及以下幾類日誌:
預設儲存在%FR_HOME%\logs\fanruan.log
設計器端允許修改日誌儲存位置
伺服器端不允許修改日誌儲存位置
儲存在%FR_HOME%\webapps\webroot\logs\cubes
允許修改日誌儲存位置
儲存在%FR_HOME%\bin\error.txt
不允許修改日誌儲存位置
Tomcat部署情況下存在
預設儲存在%FR_HOME%/logs
2)如何透過帆軟功能快捷維運
帆軟提供下載日誌功能,管理者登入數據決策系統,點選「管理系統>智慧維運>平台日誌」,其中「下載日誌」Tab提供相應功能。
透過此功能可實現下載指定時間的指定日誌,並支援查看日誌儲存位置。
1)指標說明
日常運作中,維運人員主要需要關注以下各指標是否存在異常:
帆軟提供記憶體管理頁面,點選「管理系統>智慧維運>負載管理」,其中「負載監視」Tab提供相應功能。
透過此功能可實現視覺化查看帆軟應用而非整個伺服器的近期「負載曲線」、「記憶體曲線」和「CPU曲線」,快速瞭解帆軟應用運作及壓力狀況。
帆軟提供磁碟維運功能,點選「管理系統>智慧維運>磁碟維運」,其中「磁碟使用情況分析」Tab提供相應功能。
透過此功能可實現視覺化查看帆軟應用重點相關磁碟目錄的使用情況,即時避免出現磁碟不足。
如需對帆軟應用的異常即時感知,需實現對帆軟應用各項指標的監視警報,實現的方案有以下幾點建議:
1)如使用的是雲伺服器(如阿里雲、華為雲等),可使用雲服務廠商提供的監視類雲服務,對伺服器的資源異常進行監視
2)自行開發實現對於帆軟應用的監視,如基於promthues組件等
3)針對系統負載過高的場景,帆軟提供智慧預警功能,檢查到負載狀態過高時將提醒維運人員。
管理者登入數據決策系統,點選「管理系統>智慧維運>負載管理」,其中「負載監視」內可進行智慧預警配置。
4)針對系統出現當機的場景,帆軟提供當機通知功能,檢查到系統當機時將提醒維運人員。
管理者登入數據決策系統,點選「管理系統>智慧維運>當機處理」,其中「當機處理」內可進行當機通知配置。
5)針對系統磁碟空間不足的場景,帆軟提供磁碟預警功能,檢查到應用相關磁碟空間不足時,將提醒維運人員。
管理者登入數據決策系統,點選「管理系統>智慧維運>磁碟維運」,其中「磁碟預警設定」tab頁內可進行磁碟預警配置。
當應用出現異常時,當機可能會隨之發生,此時為了業務的可用,需要快速恢復應用,同時應儘量儲存當機時刻的日誌資訊,方便進行當機原因定位及風險排除,避免再次出現類似異常。對於當機,應進行以下維運動作:
1)保證系統環境有jdk工具,當應用發生當機時,即時匯出dump檔案
進入到對應的jdk的bin目錄
以linux+tomcat為例,查看pid的方式為使用ps -ef|grep tomcat管道過濾命令,查看對應的伺服器進行pid。
使用命令jmap -dump:format=b,file=檔案名稱 [pid]來生成dump。
2)自行開發對帆軟應用是否存活的監視,並在發現其不可用時告知到維運人員,並透過自動化腳本重啟應用,或人工進行監視及應用重啟
重啟或停止應用時需確定完全關閉工程相關進程,詳情請參見:關閉或重啟FineBI工程
3)在當機發生後自行透過dump分析當機原因或聯絡技術支援協助定位,並儘快排除當機風險。
4)針對當機場景,帆軟提供應用存活監視功能,管理者登入數據決策系統,點選「管理系統>智慧維運>當機處理」。
透過「當機處理」可以實現當機訊息通知,當機日誌自動匯出,及當機後自動重啟恢復。
5)針對當機定位,帆軟提供當機自助處理功能,管理者登入數據決策系統,點選「管理系統>智慧維運>當機處理」。
透過「當機自助精靈」可以對大多數的當機原因給出分析結果並提供改進建議。
6)設定 dump JVM 參數
建議為工程配置上當機自動生成 dump 日誌的 JVM 參數,配置該參數對工程運作沒有效能損耗的影響,僅用於在伺服器當機時生成 dump 日誌。
注:其中 /opt/ 路徑表示的是當機檔案生成路徑,可以根據需要修改檔案路徑。修改儲存後,需要重啟 Tomcat 才能使配置生效。
Windows:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.bat的檔案。如果檔案不存在,可以建立一個新的setenv.bat檔案。在檔案中新增以下行來設定,配置完成後重啟工程。
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
set JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=/opt/
Linux:進入%Tomcat_HOME%\bin目錄。尋找名為setenv.sh的檔案。如果檔案不存在,可以建立一個新的setenv.sh檔案。在檔案中新增以下行來設定,配置完成後重啟工程。
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=/opt/"
帆軟系統需要定期進行備份,以確定在使用者誤操作、版本回退等場景下能夠即時恢復,備份及還原方式如下:
1)自行手動備份:
應用場景:遷移/升級前,手動對工程進行整體異機備份,便於遷移/升級失敗後快速回退。
定期將完整工程copy並壓縮後,放在磁碟空間充足的目錄或其他伺服器上,並定期備份工程的外接配置資料庫
2)透過帆軟功能進行定期備份:
應用場景:定期自動對工程關鍵業務資料進行備份,防止工程出現意外,便於還原。
備份內容:工程中的範本、插件、JAR包、平台配置
備份頻率:建議每1週備份1次,保留最近5份備份
備份操作:管理者登入FineBI系統,點選「管理系統>智慧維運>備份還原>全局設定」,開啟自動備份。
儲存位置:工程%BI_HOME%\webapps\webroot\backup目錄下
由於這四個項互相存在影響(比如插件和jar包配套、範本和平台目錄配套、範本功能和jar包功能聯動),因此一定要把同時生成的四者備份一起還原,不可只還原某一項,或還原不同時間節點的備份內容。
帆軟產品會持續不斷的迭代更新,可能增加新的功能或針對歷史版本存在的問題進行修復,為了能獲得更好的功能體驗,客戶往往也要跟隨更新版本,本章僅介紹小版本升級方式,大版本升級請聯絡帆軟技術人員進行協助,升級前需確定已進行備份操作,保證升級程式或升級後出現異常可以即時恢復可用狀態不至於造成損失,備份方法可參考上一節。
1)人工更新 JAR 包:使用者可以獲取 JAR 包後手動取代更新, linux 系統和 windows 系統下操作方式一致。
2)使用者可以向帆軟技術人員索要升級jar包,獲取後,取代伺服器工程 %TOMCAT_HOME%/webapps/webroot/WEB-INF/lib下的老jar包,重啟伺服器即可完成升級。
3)BI更新升級前請先運作升級工具,在決策平台中點選「BI升級」進行檢查,按指導處理完成升級風險項後進行人工更新。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙