中台故障排查
更新时间: 2024-12-05 21:00:16
阅读 538
INFO-中台故障排查
适用模块
全平台具体说明
当客户环境服务出现故障时,如无法直接定位故障原因,应优先恢复服务,保障客户业务连续性,但同时也需要保留故障现场供研发进行故障原因分析;紧急恢复
1 当客户反馈服务异常后,应登陆异常服务所在主机,确认服务是否确实已经不存在;
2 如服务进程已不存在,则通过easyops启动该服务;
3 如服务进程仍然存在,且根据日志无法快速定位原因,则打印jstak和jmap信息后,通过后台手动kill该进程,并删除服务目录下pid文件;然后通过easyops启动服务
# 1. 使用easyops用户登陆后台查询该服务进程是否存在 ,服务名如easy_xxx,组件名为server、backend、front_end等
ps aux|grep 服务名 |grep -v "grep"
# 2. 执行导出堆栈脚本
#!/bin/bash
set -e
if [[ $#==0 ]];then
echo "Usage: $@ pid_number!"
exit 0
fi;
## 获取用户名
if ps -p $1 >/dev/null; then
user=`ps -o user= -p $1`
else
echo ${1}" process is not running!"
exit 1
fi
su -c "/usr/easyops/jdk8/bin/jstack -l ${1} >/tmp/jstack_${1}.log" $user
su -c "/usr/easyops/jdk8/bin/jmap -dump:format=b,file=/tmp/heapdump_${1}.bin ${1}" $user
echo "jstack and jmap already dump,please kill process by command: kill -9 ${1} and del the pid file in pid folder"
# 3. 手工杀死进程,并删除对应pid文件
kill -9 ${pid}
rm /usr/easyops/服务名/default_服务名_组件名/pid/xxx.pid
作者:Semon
文档反馈
以上内容对您是否有帮助?