WebLogic Server 在 Debian 上的故障排查可以通過以下步驟進行:
環境及問題現象
- 環境說明:
- WebLogic 版本:Oracle WebLogic 12.2
- WebLogic 架構:6 節點集群。
- Redis:5.x.x;使用三主三從的 Redis 集群。
- JDK 版本:JDK-1.8.0_x
- 操作系統:Debian(具體版本未提及)
- 操作系統資源:8 core CPU,24GB 內存,200GB 磁盤。
- 問題描述:
- 當系統發生故障時,系統資源使用過高,包括 CPU、內存等。
- Redis 也有相關的報錯。
- 系統運行需要調用的另外一個系統也有故障發生(依賴關系)。
- WebLogic 日志也有應用代碼相關的報錯以及其他資源類不足報錯。
問題排查
- 系統資源使用分析:
-
內存分析:
- 使用
top
和 free
命令查看內存使用情況。
- 如果
free
的值很低,但 swap
中的 used
信息沒有大幅度增加或波動,說明內存基本夠用。
- 使用
sar -r
命令進一步確認內存使用情況。
-
CPU 分析:
- 觀察操作系統上 CPU 的使用情況。
- 查看 WebLogic 線程 dump 信息,分析活動線程的狀態和運行情況。
-
I/O 情況分析:
- 檢查 I/O 使用情況,確認是否有 I/O 壓力。
- WebLogic 診斷:
-
Admin 控制臺卡頓問題:
- 檢查 Admin 控制臺是否卡頓,可能是由于 OS CPU 使用率過高或被管節點繁忙造成的。
-
被管節點自動 shutdown 然后重啟問題:
- 檢查集群里的被管節點是否無規律地出現問題,開始狀態。
常見的 WebLogic 報錯及解決方法
-
管理節點報錯:
- 通過
nohup ./startweblogic.sh &
命令啟動管理節點后,使用 tail -f nohup.out
查看日志,查找報錯信息。
- 例如,
bea-000386
報錯可能與網絡配置錯誤有關。
故障排查工具
- 使用
weblogic-infodetector
插件探測 T3 協議及版本信息。
- 使用
superman
或其他工具進行進一步的漏洞探測和攻擊。
在進行故障排查時,建議按照以下步驟進行:
- 收集信息:收集系統日志、WebLogic 日志、操作系統日志等相關信息。
- 分析問題:根據收集到的信息,分析問題的可能原因。
- 制定排查計劃:根據分析結果,制定詳細的排查計劃,逐步縮小問題范圍。
- 執行排查:按照排查計劃,逐一排查可能的問題點。
- 驗證解決方案:實施解決方案后,驗證問題是否解決。
- 總結經驗:總結故障排查過程中的經驗教訓,以便后續參考。
請注意,以上信息僅供參考,具體的故障排查步驟可能會因環境差異而有所不同。在進行故障排查時,請根據實際情況進行調整。