supervisor进程异常挂掉

不久前,线上有一批机器晚上的时候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

时间: 2024-10-10 00:24:49

supervisor进程异常挂掉的相关文章

supervisor进程管理工具

先说说supervisor是干什么的吧? supervisor这东西,其实就是用来管理进程的.咱们为什么要用supervisor呢?因为,相对于我们linux传统的进程管理方式来说, 它有很多的优势,要不然咱们也不会闲着没事去用supervisor了. OK,下面来看看supervisor有哪些好处吧. 简单 为啥简单呢?因为咱们通常管理linux进程的时候,一般来说都需要自己编写一个能够实现进程start/stop/restart/reload功能的脚本, 然后丢到/etc/init.d/下面

supervisor进程管理程序

一.supervisor简介Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可.也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警.supervisor还提供了一个功能,可以为supe

Supervisor 进程管理工具

Supervisor  进程管理工具时刻检测进程存活状态:可用来启动.重启.关闭进程: Supervisord(supervisor是一个C/S模型的程序,这是server端,对应的有client端:supervisorctl)和应用程序(即我们要管理的程序). 一.下载: https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3

详解Supervisor进程守护监控

Supervisor在百度百科上给的定义是超级用户,监管员.Supervisor是一个进程管理工具,当进程中断的时候Supervisor能自动重新启动它.可以运行在各种类unix的机器上,supervisor就是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启. v介绍Supervisor - supervisord 运行 Supervisor 时会启动一个进程 supervisord,它负责启动所管理的进程,并将所管

ceph同步数据过程OSD进程异常退出记录

做的操作: ceph集群扩容了几个节点. 异常现象: ceph集群同步时,总是OSD进程异常的宕掉(同步一段时间数据后). ceph版本:  9.2.1 日志: 7月 25 09:25:57 ceph6 ceph-osd[26051]: 0> 2017-07-25 09:25:57.471502 7f46fe478700 -1 common/HeartbeatMap.cc: In function 'bool ceph::HeartbeatMap::_ch 7月 25 09:25:57 ceph

YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出【高危】

YS VTM模块存在格式化字符串漏洞,可导致VTM进程异常退出[高危] 问题描述:          YS VTM模块开放对外监听端口(8554和8664),此次使用sulley fuzzing框架对监听在8664端口的私有二进制协议进行测试,以检测可能发生的各种问题.在该协议中,客户端会向8664端口发送一个二进制+文本格式的报文,对该报文格式的各个字段进行fuzzing,发现当向服务端的VTM进程传入格式化字符串时会崩溃并退出. 测试步骤: 1.  分别在客户机和服务器安装sulley fu

docker supervisor进程管理

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本. 例如:docker run  –d  镜像  /ru

进程—异常控制流之故障、终止篇

进程-异常控制流之故障.终止篇 一.Exceptions(异常) and System Call(系统调用) 1.1 故障 故障由错误情况引起,它可能能够被故障处理程序修正.当故障发生时,处理器将控制转移给故障处理程序.如果处理程序能够修正这个错误情况,它就将控制返回到引起故障的指令,从而重新执行它.否则,处理程序返回到内核中的abort例程, abort 例程会终止引起故障的应用程序. 故障处理.根据故障是否能够被修复,故障处理程序要么重新执行引起故障的指令,要么终止. 一个经典的故障示例是缺

SUPERVISOR进程管理器配置指南

SUPERVISOR进程管理器配置指南 1. supervisor简介 1.1. 官网 http://supervisord.org/ 1.2. 介绍 Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemontools和runit有些相似, 但是与它们不一样的是, 它不是作为init(进程号pid是1)运行. 它是被用来控制进程, 并且它在启动的时候和一般程