Supervisor是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程。
#组成部分
supervisord(server 部分):主要负责管理子进程,响应客户端命令以及日志的输出等,受控的监听进程都会以其子进程地方式出现,不过如果直接杀掉supervisor的主进程,被管理的进程仍然是运行状态
supervisorctl(client 部分):命令行客户端,用户可以通过它与不同的 supervisord 进程联系,获取子进程的状态等
#安装部署
yum install supervisor -y
#配置文件路径
/etc/supervisord.conf
#配置文件优化请在网络上查询,结合自身调试
#es配置
[program:elasticsearch]
command=/opt/server/elasticsearch/bin/elasticsearch ; 程序启动命令
user=yutang
stdout_logfile=/opt/logs/supervisord-es.log
autostart=true
autorestart=true
startsecs=60
stopasgroup=true
ikillasgroup=true
startretries=1
redirect_stderr=true
#kinana配置
[program:kinana]
command=/opt/server/kibana/bin/kibana ; 程序启动命令
user=root
stdout_logfile=/opt/logs/supervisord-kinana.log
autostart=true
autorestart=true
startsecs=60
stopasgroup=true
ikillasgroup=true
startretries=1
redirect_stderr=true
#服务启动
supervisord -c /etc/supervisord.conf
#常用操作命令
supervisorctl status:查看所有进程的状态
supervisorctl start es #启动es
supervisorctl stop es #停止es
supervisorctl start all #启动所有进程
supervisorctl stop all #停止所有进程
supervisorctl restart es #重启es
supervisorctl update #每次修改配置后,建议使用此命令,不会全部重启
supervisorctl reload #重新加载配置并重启supervisord
supervisorctl shutdown #关闭supervisord
原文:https://www.cnblogs.com/wjoyxt/p/11608014.html