項目日誌與重啟維護
本文整理自《客戶嘟哩維護文檔》的項目維護章節,適合運維人員處理登錄、離線、後台、消息、審批和項目管理異常。以下命令涉及生產服務,請確認影響範圍後執行。
項目分布
| 前臺/項目伺服器 | 後台/數據伺服器 |
|---|---|
DuliFront | Hbase |
DuliRoute | Hadoop |
DuliBackend | Zookeeper |
DuliAuth | Mysql |
DuliMgmt | Redis |
Gofastdfs |
內存溢出日誌關鍵字
如果出現項目卡死、接口異常、反復掉線或重啟後短暫恢復,可以先在項目日誌中搜索以下關鍵字:
| 類型 | 日誌關鍵字 |
|---|---|
| 堆內存溢出 | java.lang.OutOfMemoryError: Java heap space |
| 元空間溢出 | java.lang.OutOfMemoryError: Metaspace |
| 永久代溢出 | java.lang.OutOfMemoryError: PermGen space |
| 無法創建新線程 | java.lang.OutOfMemoryError: unable to create new native thread |
| 直接內存溢出 | java.lang.OutOfMemoryError: Direct buffer memory |
| GC 開銷過高 | java.lang.OutOfMemoryError: GC overhead limit exceeded |
| 數組大小超限 | java.lang.OutOfMemoryError: Requested array size exceeds VM limit |
如果命中以上關鍵字,通常需要結合具體項目的日誌和資源使用情況處理。臨時恢復可以重啟對應項目,長期處理需要評估啟動參數、內存配置和異常請求。
DuliFront 消息項目
DuliFront 主要關聯消息、在線狀態、斷線重連等問題。登錄後一直顯示無法連接、一直斷線重連,通常優先檢查或重啟該項目。
查看日誌:
bash
less /usr/local/tomcat/tomcat/logs/catalina.out抓取異常日誌:
bash
cat /usr/local/tomcat/tomcat/logs/catalina.out | egrep -i exception -C 500 > /tmp/duli.front.log
sz /tmp/duli.front.log重啟項目:
bash
service tomcat stop如果服務命令無法關閉,可按進程關閉:
bash
ps -ef | grep '[t]omcat' | grep -v 'tomcat[2-9]\|tomcat10' | awk '{print $2}' | xargs kill -9啟動項目並查看日誌:
bash
service tomcat start
tail -f /usr/local/tomcat/tomcat/logs/catalina.out啟動參數配置文件:
text
/etc/init.d/tomcatDuliRoute 入口項目
DuliRoute 主要關聯伺服器地址連接、登錄入口、登錄 4000、入口路由等問題。登錄頁提示伺服器無法連接、點擊登錄提示操作失敗 4000,通常優先檢查或重啟該項目。
查看日誌:
bash
less /data/apps/DuliRoute/logs/DuliRoute.log抓取異常日誌:
bash
cat /data/apps/DuliRoute/logs/DuliRoute.log | egrep -i exception -C 500 > /tmp/duli.route.log
sz /tmp/duli.route.log進入目錄並關閉入口項目:
bash
cd /data/apps/ugroute
ps -ef | egrep '[U]gram_Route.jar' | awk '{print $2}' | xargs kill -9啟動入口項目:
bash
nohup java -jar -Xms32g -Xms32g -XX:MetaspaceSize=2G -XX:MaxMetaspaceSize=2G -Dloader.path=resources,lib -Djava.security.egd=file:/dev/../dev/urandom Ugram_Route.jar &> /dev/null &查看進程和日誌:
bash
ps -ef | egrep '[U]gram_Route.jar'
tail -f /data/apps/DuliRoute/logs/DuliRoute.log如果日誌出現類似 Started RouteApplication、啟動 route 成功,說明入口項目已啟動成功。
說明:nohup 和結尾的 & 是為了把進程任務放入後台。
DuliAuth 認證項目
DuliAuth 主要關聯登錄認證、授權認證等問題。
查看日誌:
bash
less /usr/local/tomcat/tomcat3/logs/catalina.out抓取異常日誌:
bash
cat /usr/local/tomcat/tomcat3/logs/catalina.out | egrep -i exception -C 500 > /tmp/duli.auth.log
sz /tmp/duli.auth.log重啟項目:
bash
service tomcat3 stop
service tomcat3 start
tail -f /usr/local/tomcat/tomcat3/logs/catalina.out如果服務命令無法關閉,可按進程關閉:
bash
ps -ef | grep '[t]omcat3' | awk '{print $2}' | xargs kill -9啟動參數配置文件:
text
/etc/init.d/tomcat3DuliBackend 後台項目
DuliBackend 主要關聯管理後台不可用、後台接口異常等問題。
查看日誌:
bash
less /usr/local/tomcat/tomcat2/logs/catalina.out抓取異常日誌:
bash
cat /usr/local/tomcat/tomcat2/logs/catalina.out | egrep -i exception -C 500 > /tmp/duli.backend.log
sz /tmp/duli.backend.log重啟項目:
bash
service tomcat2 stop
service tomcat2 start
tail -f /usr/local/tomcat/tomcat2/logs/catalina.out如果服務命令無法關閉,可按進程關閉:
bash
ps -ef | grep '[t]omcat2' | awk '{print $2}' | xargs kill -9啟動參數配置文件:
text
/etc/init.d/tomcat2DuliMgmt 工作流項目
DuliMgmt 主要關聯審批、項目管理、工作流相關功能。
查看日誌:
bash
less /usr/local/tomcat/tomcat4/logs/catalina.out抓取異常日誌:
bash
cat /usr/local/tomcat/tomcat4/logs/catalina.out | egrep -i exception -C 500 > /tmp/duli.mgmt.log
sz /tmp/duli.mgmt.log重啟項目:
bash
service tomcat4 stop
service tomcat4 start
tail -f /usr/local/tomcat/tomcat4/logs/catalina.out如果服務命令無法關閉,可按進程關閉:
bash
ps -ef | grep '[t]omcat4' | awk '{print $2}' | xargs kill -9啟動參數配置文件:
text
/etc/init.d/tomcat4什麼時候不要繼續操作
- 無法判斷當前是測試環境還是生產環境時,不要執行重啟命令。
- 不清楚服務部署路徑、當前連接用戶數或客戶業務窗口時,不要直接重啟。
- 日誌中出現數據庫連接失敗、數據文件損壞或持續內存溢出時,不要只反復重啟,應同步技術支持分析。
