项目日志与重启维护
本文整理自《客户嘟哩维护文档》的项目维护章节,适合运维人员处理登录、离线、后台、消息、审批和项目管理异常。以下命令涉及生产服务,请确认影响范围后执行。
项目分布
| 前台/项目服务器 | 后台/数据服务器 |
|---|---|
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什么时候不要继续操作
- 无法判断当前是测试环境还是生产环境时,不要执行重启命令。
- 不清楚服务部署路径、当前连接用户数或客户业务窗口时,不要直接重启。
- 日志中出现数据库连接失败、数据文件损坏或持续内存溢出时,不要只反复重启,应同步技术支持分析。
