关于supervisord:
supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起。
一:安装(环境为centos7.4)
安装python包管理工具
yum install python-setuptools
安装supervisor
easy_install supervisor
(supervisor安装完成后会生成三个执行程序:supervisortd(supervisor的守护进程服务)、supervisorctl(控制命令)、echo_supervisord_conf(生成初始配置文件程序)
创建配置文件目录
mkdir /etc/supervisor
生成初始配置文件
echo_supervisord_conf > /etc/supervisord.conf
二:编辑配置文件
vim /etc/supervisord.conf 在配置文件末尾加入
[program:logstash] environment=LS_HEAP_SIZE=5000m directory=/usr/share/logstash command=/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/test.conf -w 10 -l /var/log/logstash/pro1.log
注意:这里logstash配置文件必须在conf.d/目录下,修改了supervisord.conf后,需要使用supervisorctl reload重新加载配置文件。
下载supervisor启动脚本
wget -O /usr/lib/systemd/system/supervisord.service https://github.com/Supervisor/initscripts/raw/master/centos-systemd-etcs
systemctl enable supervisord
三:启动
systemctl start supervisord
这种启动方式读取文件默认为/etc/supervisord.conf,为了防止以后supervisord.conf 配置过多,我们打开include选项额外配置logstash额外的启动文件。
[include] files = /etc/supervisor/*.ini
vim /etc/supervisor/logstash.ini
[program:logstash] environment=LS_HEAP_SIZE=5000m directory=/usr/share/logstash command=/usr/share/logstash/bin/logstash -f /usr/share/logstash/config/conf.d/test.conf -w 10 -l /var/log/logstash/pro1.log
supervisorctl reload
logstash设置监听的是5044端口,这里已经可以看到启动成功
四:supervisor相关命令
1,启动/停止supervisord管理的所有进程 :supervisorctl start/stop all 2,启动/停止supervisord管理的指定进程 :supervisorctl start/stop program-name 3,重启所有进程或所有进程:supervisorctl restart all 4,查看supervisord当前管理的所有进程的状态:supervisorctl status
参考:https://blog.csdn.net/xyang81/article/details/51555473