文档章节

supervisor来管理和监控进程

能东棍
 能东棍
发布于 2015/12/05 15:48
字数 692
阅读 1245
收藏 8

安装

 输入以下命令即可安装

sudo apt-get install supervisor


配置文件说明

配置文件存放目录在

cd /etc/supervisor/conf.d

一个服务对应一个.conf文件


以下是我的redis配置文件redis.conf

[program:redis]
command=/usr/local/bin/redis-server /var/lib/redis/redis.conf
autostart=true
autorestart=true
user=redis
stdout_logfile=/var/log/redis/redis-stdout.log
stderr_logfile=/var/log/redis/redis-stderr.log

program:后面表示服务名字, 会显示在管理工具里面,我给它命名为redis

command表示需要运行的命令,每次start都会执行这个命令

autostart表示服务是否需要跟随supervisor启动

autorestart表示当服务挂掉的时候是否需要自动重启

user表示使用哪个用户运行该命令,我新建了一个专门的redis来跑redis服务,一般使用自己的账号就行了,除非需要特殊权限

stdout_logfilestderr_logfile用户存储标准输出和错误的日志文件

还有一些其他的参数,如environment存储环境标量,redirect_stderrstdout_logfile_backups等参数可以参考官方的文档说明

http://supervisord.org/configuration.html


使用方法

先进入管理界面

sudo supervisorctl

输入help可以看到有很多命令

一般最常用的就是start启动服务 stop停止服务  还有update就是重新读取所有的服务的配置,如果有新增的配置文件就会增一个服务,如果服务配置有更改会重启服务(慎用,如果你改了配置文件而不想立刻重启服务)

supervisor> stop redis
redis: stopped
supervisor> start redis
redis: started
supervisor> restart redis
redis: stopped
redis: started
supervisor>


管理一组程序

有时候会有希望同时启动或者关闭一组程序,那你可以使用程序组,只需要在配置目录下面加上一个额外的配置文件即可

/etc/supervisor/conf.d


程序组的配置文件,在programs赋值为你需要管理的成员的服务名称,例如我这个组名叫test-group,它有两个成员test-group-1和test-group-2,每个成员之间用逗号隔开即可

[group:test-group]
programs=test-group-1,test-group-2


组成员的配置文件和普通成员没什么区别

[program:test-group-1]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx
[program:test-group-2]
command=xxx
autostart=true
autorestart=true
user=redis
stdout_logfile=xxx
stderr_logfile=xxx


启动这个组的所有服务只需要在supervisorctl下面使用命令

supervisor> start test-group:*

停止和重启以及更新等其它命令类似使用


相当于supervisorctl内部的服务名字从test-group-1变为test-group:test-group-1 ,组名冒号服务名的格式。


© 著作权归作者所有

能东棍
粉丝 7
博文 34
码字总数 25265
作品 0
南京
程序员
私信 提问
Supervisor 管理进程,Cloud Insight 监控进程,完美!

[Supervisor][1] 是由 [Python][2] 语言编写、基于 linux 操作系统的一款服务器管理工具,用于监控服务器的运行,发现问题能立即自动预警及自动重启等。 [Cloud Insight][3] 是一款次世代监控...

OneAPM蓝海讯通
2016/05/19
57
0
利用superlance监控supervisor运行状态

此文已由作者张家裕授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 最近开发问到supervisor管理下的进程重启了,有无办法做到主动通知,楼主最先想到的是supervi...

网易云
2018/11/06
0
0
supervisor安装和配置指南

supervisor:是用python写的一个进程管理工具,用来启动,重启,关闭进程。 注意:Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程。否则提示Exited too quickly (p...

高运维之路
2018/05/03
0
0
使用supervisor监控mha masterha_manager进程

我们在用mha自带的masterhamanager脚本做mysql主库故障自动切换时,需要考虑如何让masterhamanager监控进程一直处于正常运行的状态。而supervisor可以很好地解决这个问题,它可以将一个普通的...

emma_cql
2018/07/04
0
0
Monit实现Docker容器内多进程管理(二)

Monit和Supervisor还是有很大区别的,Supervisor管理的都是前台执行的进程,Monit既可以管理前台进程也可以管理后台进程,简单的说,在CentOS中使用service xxx start 启动的程序,使用Monit...

Mr_sheng
2018/06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JavaScript权威指南笔记5

第五章、语句 0、概述 JS程序是一系列可执行语句的集合。 通过控制语句来改变语句的默认执行顺序。 控制语句:条件、循环和跳转(如return、break和throw) 2、复合语句 当多条语句被当做一条语...

_Somuns
6分钟前
1
0
vmware安装ubuntu18.04总是 panic -not syncing:corrupted stack end detected inside schedule

Vmware 安装ubuntu 总是卡着不动, 提示panic -not synciong 网上提示很多办法,都试了效果不佳, 找到了完美解决办法 你的兼容模式重新选一下为6.0,兼容性对硬件有要求的 即可实现 成功安装...

dragon_tech
15分钟前
2
0
centos7 安装 mysql5.7 版本(全)

centos 安装 版本说明 :centos7,mysql5.7 ,不是 centos7 可能有些命令不兼容 安装 mysql-server # 下载并安装 mysql yum wget -i -c http://dev.mysql.com/get/mysql57-community-relea......

sanri1993
44分钟前
4
0
Spring3.x升级到Spring4.x-5.x时关于MappingJacksonHttpMessageConverter的报错问题

在Spring4.x或者以上的版本强使用(不然会报错): org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 如果是Spring4.0获者以下的版本可以使用MappingJacksonH...

code-ortaerc
46分钟前
4
0
OSG 渲染状态污染到其它节点怎么解决?

在根节点补上初始状态

洛克人杰洛
48分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部