不久前,线上有一批机器晚上的时候supervisor进程异常退出,早上业务部门反映了这个问题,同一类机器18台中有15台supervisor挂了,于是启动supervisor及其纳管应用,并开始定位根因;
查看发现这15台机器/var/log/system.log日志在今早06:28分有更新,06:28有如下异常信息:
Supervisor WARN received SIGTERM indicating exit request
经Google,定位到15台机器/var/log/apt/history.log文件也于06:28分有更新,06:28有如下异常信息:
Start-Date: 2018-05-23 06:28:27
Upgrade: supervisor:amd64 (3.0b2-1,3.0b2-1ubuntu0.1)
Error: Sub-process /usr/bin/dpkg returned an error code (1)
End-Date: 2018-05-23 06:28:30
而另外3台的/var/log/apt/history.log表示supervisor升级成功,所以supervisor没有异常挂掉:
Start-Date: 2018-05-23 06:34:33
Upgrade: supervisor:amd64 (3.0b2-1,3.0b2-1ubuntu0.1)
End-Date: 2018-05-23 06:28:41
故障原因:Ubuntu14.04操作系统默认开启了“unattended update”,会无人值守情况下自动升级某些应用!!这一次正好是supervisor自动升级,且升级失败,supervisor会自动退出,其纳管的应用(包括nginx和一些自研应用)也会被supervisor kill掉。而其中3台能升级成功,15台为什么不能的原因暂时没找到。所以,暂时先关闭了所有机器的自动升级开关。
操作步骤:/etc/apt/apt.conf.d/10periodic 中 APT::Periodic::Update-Package-Lists "1”;改为:
APT::Periodic::Update-Package-Lists “0”;
自动升级即关闭。
原文地址:https://www.cnblogs.com/xingxiz/p/9771099.html