supervisord使用

supervisord使用

  • supervisord使用
    • 1安装
    • 2生成配置文件
    • 3启动
    • 4关闭
    • 5配置文件说明
    • 6web管理界面
    • 7调优
          • supervisor命令出现unixtmpsupervisorsock no such file报错

1,安装

yum -y install python-setuptools
#安装easy_install 这个命令的软件包
easy_install supervisor
#安装supervisor

2,生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

3,启动

#也可以[ -c +配置文件路径 ] 指定配置文件
supervisord
#修改了配置文件需要此操作重载、重启supervisord的服务
supervisorctl reload

4,关闭

ps aux | grep superv
kill -9 [pid]

5,配置文件说明

[unix_http_server]
file=/tmp/supervisor.sock    ; 指定socket文件的位置,当没有此文件时需要先
;chmod=0700                  ; 启动supervisord 再执行supervisorctl
;chown=nobody:nogroup        ; 
;username=user               ; 
;password=123                ; 

[inet_http_server]           ; 开启web管理功能,默认是关闭的,也应该关闭
port=192.168.182.131:9001    ; 也应该关闭,不然不安全,这里我们为了演示
username=user                ; 先打开此功能
password=123                 ; 

[supervisord]                ; 这个主要是定义supervisord服务器端的一些参数,必须设置
logfile=/tmp/supervisord.log ; supervisord日志文件的位置,如果不设置日志在当前位置下
logfile_maxbytes=50MB        ; 当日志超过50M的时候会生成一个新的日志文件。当限制为0
                             ; 的时候不会限制文件的大小
logfile_backups=10           ; 日志文件保持的数量,supervisor在启动程序时会自动创建10
                             ; backup文件,用于logrotate,当设置为0的时候,表示不限制
                             ; 文件的数量
loglevel=info                ; 日志级别,默认info,非必须设置
pidfile=/tmp/supervisord.pid ;  
nodaemon=false               ; 
minfds=1024                  ; 这个是最少系统空闲的文件描述符,低于这个值supervisord将不
                             ; 会启动。/proc/sys/fs/file-max查看,默认1024,非必须设置
minprocs=200                 ; 最小可用的进程描述符,低于这个值supervisor也不会启动。
                             ; ulimit -u 可以查看,默认不用修改

[program:elasticsearch]      ; 添加elasticsearch服务  
command = /home/tomcat/elasticsearch/bin/elasticsearch ;启动程序路径可以带参数
autostart = true
startsecs = 5
autorestart = true
startretries = 3              ; 其他的就不写了,配置文件里也有英文解释
user = tomcat                 ; 以哪个用户启动
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /home/tomcat/logs/elasticsearch_super.log

[program:logstash]
directory = /home/tomcat/logstash/bin/
command = /home/tomcat/logstash/bin/logstash -f /home/tomcat/testlog.conf
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = tomcat
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /home/tomcat/logs/logstash_super.log

[program:kibana]
directory = /home/tomcat/kibana/bin/
command = /home/tomcat/kibana/bin/kibana
autostart = true
startsecs = 5
autorestart = true
startretries = 3
user = tomcat     
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /home/tomcat/logs/kibana_super.log


[group:elk]                              ; 组管理非常方便,我们可以start|stop|status
programs=elasticsearch,logstash,kibana   ; elk:* 来启动或关闭所有此组的服务,非必须开启。

[include]                                ; 当我们要管理很多进程的时候,写在一个文件里面就
files = /etc/supervisor/*.conf           ; 有点大了。此时可以把配置文件写到多个文件中
                                         ; 然后include过来

6,web管理界面

[inet_http_server]           ; 开启web管理功能,默认是关闭的,也应该关闭
port=192.168.182.131:9001    ; 也应该关闭,不然不安全,这里我们为了演示
username=user                ; 先打开此功能
password=123                 ; 
#查看启动的应用状态及pid
supervisorctl status
supervisorctl

7,调优

supervisor命令出现unix:///tmp/supervisor.sock no such file报错。

supervisor默认配置中,其启动的sock等都会放到tmp目录,而tmp目录会自动清理导致无法使用supervisorctl命令,此时:
1. 修改supervisor.conf文件,修改到/var/run//var/log/目录,具体配置就不进行贴了,简单直接搜索tmp进行修改即可。
2. 重启supervisor服务,记得kill原来服务。

你可能感兴趣的:(linux)