簡介
本文檔介紹在量子策略套件(QPS)系統發生故障或崩潰時捕獲資訊必須完成的步驟。如果滿足硬體、軟體和虛擬機器要求,QPS將不太可能崩潰。
必要條件
需求
本文件沒有特定需求。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
附註:某些日誌不會出現在早於QPS 5.5版的QPS版本中。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
擷取資訊
如果QPS系統發生故障,請收集以下資訊:
診斷和偵錯日誌
- 登入到策略和計費規則功能(PCRF)客戶端虛擬機器(例如, pcrfclient01)並收集診斷資訊(例如,/opt/broadhop/installer/diag/diagnostics.sh)。
- 登入到PCRF客戶端虛擬機器並收集調試資訊。調試資訊包括整合的QNS日誌、svn回購和QNS配置詳細資訊。確保統一日誌涵蓋系統故障的時間,並在logback.xml檔案中設定調試級別。
- 從QPS中收集此輸出(例如,運行/opt/broadhop/installer/diag/zip_debug_info.sh,並且輸出儲存在/var/tmp/debug_info<date>.zip中)。
QPS許可證資訊
- 登入到PCRF客戶端虛擬機器並收集QPS許可證資訊。QPS通常針對特定功能獲得許可,並且支援最大數量的併發會話。QPS也有此功能的到期日期。
- 導航到此目錄:/etc/broadhop/license並捕獲許可證(.lic)檔案的輸出。(例如,cat /etc/broadhop/license/QUANTUM201311210402429360.lic)。
系統統計資訊
- 捕獲系統統計資訊(示例:CPU、記憶體、磁碟利用率)。
- 登入到PCRF客戶端虛擬機器並收集輸出。示例: /opt/broadhop/control/top_qps.sh
- 登入到對應的虛擬機器(例如pcrfclient0x、lb0x、qns0x)並捕獲以下系統統計資訊:
cat /proc/meminfo >已分配的記憶體資訊
free -s 60 >每一分鐘的記憶體統計資訊
vmstat 1 > CPU狀態每分鐘
ps -aux | head -10 >前10個消耗大部分CPU使用率的進程詳細資訊
swapon -s >每個裝置的交換使用摘要
.du -a |排序 — n -r | head -n 10 >前10個檔案/目錄佔用更多空間
- 登入到sessionmgr虛擬機器並收集mongostat和mongotop的輸出,這將有助於排查問題是否與資料庫相關。
策略生成器中的執行緒配置
登入到策略生成器,然後導航到Reference Data > System-1 > Plugin Configurations > Threading Configuration。
TPS的執行緒數可能從40到50不等,但少於1,000。可以配置的最大執行緒數是50。如果增加執行緒數,這將影響系統效能。
致命錯誤日誌
當系統發生故障時,QPS將生成一個錯誤日誌,其中包含發生致命錯誤時進程的狀態。致命錯誤或致命異常錯誤導致程式中止。
致命錯誤日誌包括以下資訊:
- 導致致命錯誤的操作異常或訊號
- 版本和配置資訊
- 引發致命錯誤的執行緒和執行緒堆疊跟蹤的詳細資訊
- 正在運行的執行緒及其狀態的清單
- 有關堆的摘要資訊
- 已載入的原生庫的清單
- 命令列引數
- 環境變數
- 有關作業系統(OS)和中央處理器(CPU)的詳細資訊
預設日誌檔名遵循以下格式: hs_err_pid<pid>.log,並在相應的Java進程啟動的工作目錄中生成。範例:使用者啟動QNS進程時使用者的工作目錄。
如果您不知道工作目錄,請在系統中搜尋名為hs_err_pid*.log的檔案,並在發生錯誤時檢查該檔案是否匹配。
完成以下步驟,指定致命錯誤的位置:
- 登入到pcrfclient01虛擬機器
- 開啟jvm.conf(例如,vi /etc/broadhop/pcrf/jvm.conf)。
- 將選項: -XX:ErrorFile=<directory>/<file-name>%p.log新增到清單中,並確保指定的目錄路徑存在,並且使用者QNS對該目錄具有完全許可權。示例: -X:ErrorFile=/home/qns/fatal_error%p.log
- 如果pcrfclient01:/etc/broadhop中的conf檔案與運行QNS服務的VM上/etc/broadhop中的conf檔案不同步,則「syncconfig.sh」命令可能會導致許多問題。syncconfig.sh將獲取pcrfclient01:/etc/broadhop conf檔案,並覆蓋運行QNS的VM上/etc/broadhop中的conf檔案。
警告:synconfig.sh命令將獲取pcrfclient01:/etc/broadhop conf檔案,並覆蓋運行QNS服務的虛擬機器(例如iomgr01、iomgr02、qns01、qns02等)上/etc/broadhop中的所有conf檔案。
- 重新啟動QNS應用程式並輸入命令restartall.sh