supervisord管理ELK
lvm挂载磁盘
fdisk -l
yum install lvm2 -y
pvcreate /dev/vdb
vgcreate data /dev/vdb
vgdisplay
lvcreate -l 100%VG -n lv_data data //-L 50G
yum install xfs*
mkfs.xfs /dev/data/lv_data
挂载
[root@ecs-lvmtest ~]# blkid /dev/mapper/vgdata-lvdata1
UUID=2b2000b1-f926-4b6b-ade8-695ee244a901 /data xfs defaults 1 2
supervisord
安装Supervisor
# yum install epel-release
# yum install -y supervisor
# systemctl enable supervisord # 开机自启动
# systemctl start supervisord # 启动supervisord服务
# systemctl status supervisord # 查看supervisord服务状态
# ps -ef|grep supervisord # 查看是否存在supervisord进程
或者执行以下命令:
yum install python-setuptools #安装easy_install 这个命令的软件包
easy_install supervisor #安装supervisor
配置Supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
#编辑supervisor配置文件
vim /etc/supervisor/supervisord.conf
[include]
files = /etc/supervisor/conf.d/*.ini
配置文件
mkdir -p /etc/supervisor/conf.d
vim /etc/supervisor/conf.d/elasticsearch.ini
[program:elasticsearch]
command=/usr/local/elasticsearch-6.2.3/bin/elasticsearch #启动程序的命令
directory=/usr/local/elasticsearch-6.2.3 # 程序文件夹
user=elk # 指定用户
numprocs=1
priority=1 # 优先级 默认:999,数值越小优先级越高
autostart=true # 是否随supervisor启动而自动启动
;startsecs=10 # 启动正常运行多久,则为启动成功。默认为:1秒
satrtretries=3 # 启动失败重试次数
autorestart=true # 进程挂掉,是否重启
stopasgroup=true # 默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true # 默认为false,向进程组发送kill信号,包括子进程
redirect_stderr=true # std_error日志重定向到std_out
stdout_logfile_maxbytes=50MB # 日志最大大小
stdout_logfile_backups=10 # 日志最多保留数量
stdout_logfile=/var/log/supervisor/supervisor_elasticsearch.log # 日志路径
[supervisord]
minfds=65536
minprocs=32768
[program:elasticsearch]
command=/data/elk/elasticsearch-6.2.4/bin/elasticsearch
directory=/data/elk/elasticsearch-6.2.4
user=elk
numprocs=1
priority=1
autostart=true
startsecs=10
satrtretries=3
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=5
stdout_logfile=/var/log/supervisor/supervisor_elasticsearch.log
编辑kibana.ini文件
vim /etc/supervisor/conf.d/kibana.ini
[program:kibana]
directory=/usr/local/kibana-6.2.3
command=/usr/local/kibana-6.2.3/bin/kibana
numprocs=1
priority=3
autostart=true
;startsecs=10
startretries=3
autorestart=true
redirect_stderr=true
tdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_logfile=/var/log/supervisor/supervisor_kibana.log
编辑logstash.ini文件
vim /etc/comf.d/supervisor/logstash.ini
[program:logstash]
directory=/usr/local/logstash-6.2.3
command=/usr/local/logstash-6.2.3/bin/logstash -f /usr/local/logstash-6.2.3/config/logstash.conf
numprocs=1
priority=2
autostart=true
;startsecs=5
startretries=3
autorestart=true
stopasgroup=true
killasgroup=true
redirect_stderr=true stdout_logfile_maxbytes=50MB
stdout_logfile_backups =10
stdout_logfile=/var/log/supervisor/supervisor_logstash.log
启动supervisor
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl status
supervisorctl reload #修改了配置文件需要此操作重载、重启supervisord的服务
supervisorctl -c /etc/supervisord.conf
以上命令进入客户端shell
status # 查看程序状态
stop xx # 关闭 xx 程序
start xx # 启动 xx 程序
restart xx # 重启 xx 程序
reread # 读取有更新(增加)的配置文件,不会启动新添加的程序
update # 重启配置文件修改过的程序
也可以如下在shell直接进行
supervisorctl status
supervisorctl stop xx
supervisorctl start xx
supervisorctl restart xx
supervisorctl reread
supervisorctl update