centos7 supervisor配置logstash进程管理

1、编写ini配置文件(supervisor安装后默认包含的配置文件目录是:/etc/supervisord.d)

supervisor的注释是 ; 分号

vim /etc/supervisord.d/logstash.ini

[program:logstash]
command = /opt/elk/logstash-6.8.3/bin/logstash -f /opt/elk/logstash-6.8.3/bin/logstash_elk.conf    ;logstash启动文件地址
autostart = true    ;在 supervisord 启动的时候也自动启动
autorestart = true    ;程序异常退出后自动重启
startsecs = 5     ;启动 5 秒后没有异常退出,就当作已经正常启动了
startretries = 3    ;启动失败自动重试次数,默认是3
environment = JAVA_HOME=/opt/jdk1.8    ;配置java_home环境
user = root     ;用哪个用户启动
password = 123456    ;用户密码
redirect_stderr = true   ;把stderr重定向到stdout,默认false 
stdout_logfile_maxbytes=20MB    ;stdout 日志文件大小,默认50MB
stdout_logfile_backups = 20    ;stdout 日志文件备份数,默认是10
stdout_logfile=/opt/supervisor/log/elk/stdout.log    ;输出日志文件,需要手动创建目录
stderr_logfile=/opt/supervisor/log/elk/stderr.log    ;错误日志文件,需要手动创建目录


2、重启supervisor,访问web页面即可看到页面列表上有一条logstash数据,并且logstash也会跟着启动

systemctl restart supervisord


3、supervisor启动logstash时,可能会提示找不到java_home路径(即使你已经在profile文件里配置)解决办法

# 在logstash.lib.sh文件里新增java_home环境
vim /opt/elk/logstash-6.8.3/bin/logstash.lib.sh

export JAVA_HOME=/opt/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin


同类文章