服务器定时重启问题排查

上周主要处理了,两个生产问题。工作电脑没带,主要简述一下。

  1. 每天的20:13分linux服务器(centos7.4)重新启动
  2. 应用服务接口类交易,耗时20秒,频发

这里先说一下服务器重启的问题。
此次重启共发生三天,第一次主要排查管控平台,发现服务器漂移了触发重启。第二天再次发生,未漂移,于是引发重视,开始排查服务器问题。
一般来说linux服务器除非人为操作,自己是不可能主动重启的,要么宕机,要么正常。
因此首先排查当前服务器上已部署的应用,发现只存在一个基于Docker 容器化的一个微服务工程,容器是以服务的形式提供给别的部门使用。因此不便排查应用日志,联系使用人沟通应用状态,先自行排查。
抛开应用只能查看服务器系统日志,系统定时脚本:

#查看定时任务
crontab -l
#查看定时任务执行日志
cat /var/log/cron
#查看定时任务脚本
cd /etc/cron.d/ 
ll
#其他可能出发定时的文件
ls /etc/cron.*
cat ....

经过排查,未发现有任何定时任务会触发服务器重启现象;
继续排查服务器系统日志:

more /var/log/message   #message可能有很多个,按时间戳查询自己需要的日志

通过message能够看到在每天的20:13分,服务器开始停止相关服务,然后紧接着进行启动,执行到开始记录系统日志后,不在有任何日志输出。通过message未发现问题。
开始排查系统 crash ,使用 crash 分析为工具进行分析后,发现每天都是因为空指针的调用触发了服务器的crash操作导致系统服务器重启。联系应用同事,经过沟通,当前部署环境主要未演示使用,未开放,应用存在大量的空指针现象。
因此当晚进行验证。测试通过。此次问题解决。
总结:

问题算是解决了,但也暴露了很多其他问题,最明显的就是在进行crash分析的时候大量的汇编命令不熟,只能百度着一个一个的进行解读。
对于Docker的理解上可能还有些欠缺,一直以为docker容器算是一个小型的linux服务器,通过类似虚拟化的方式进行搭建,从这次的排查来看应该不是这么简单的,容器对于linux宿主机的依赖或者说影响还是比较大的,容器内的服务进程可以说是运行在容器上,也可以说是运行在宿主机上,和虚拟机的方式差异不小

PS:感谢两位同事的帮助。

crash 安装步骤:

cd /usr/local/src/
wget http://linuxsoft.cern.ch/centos-debuginfo/7/x86_64/kernel-debuginfo-common-x86_64-3.10.0-693.el7.x86_64.rpm
wget http://linuxsoft.cern.ch/centos-debuginfo/7/x86_64/kernel-debuginfo-3.10.0-693.el7.x86_64.rpm
rpm -ivh /usr/local/src/*.rpm
yum install crash
crash /lib/debug/lib/modules/3.10.0-693.el7.x86_64/vmlinux 内核日志文件

汇编指令参考:https://blog.csdn.net/qq_40531974/article/details/83897559
crash命令参考:https://blog.csdn.net/zhongnanjun_3/article/details/21074329
linux内核相关参考: https://www.dedoimedo.com/computers/crash-book.html#download

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值