supervisor监控业务程序(2)

时间:2022-07-22
本文章向大家介绍supervisor监控业务程序(2),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

对于直接启动jar包的程序进行监控

# cat javarisk.ini 
[program:javarisk]
command=/usr/bin/java -Xms1024m -Xmx1024m -jar riskcontrol-server.jar --spring.profiles.active=test
directory=/export/servers/java_risk
stdout_logfile=/export/servers/supervisor/logs/javarisk.log
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true

配置完成后执行

supervisorctl update
supervisorctl start javarisk
supervisorctl status javarisk

监控tomcat程序

# cat app.ini 
[program:app]
command=/opt/app/tomcat-app/bin/catalina.sh run
stdout_logfile=/export/servers/supervisor/logs/app.log
autostart=true
autorestart=true
startsecs=5
priority=1
stopasgroup=true
killasgroup=true

不能用shutdown.sh 和startup.sh来进行启动控制,需要使用catalina.sh run这种方式来进行启动,配置完成后重启即可

supervisorctl update
supervisorctl start app

监控nginx

# cat nginx.ini 
[program:nginx]
command=/export/server/nginx/sbin/nginx -c /export/server/nginx/conf/nginx.conf -g 'daemon off;'
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile_maxbytes=20MB
stdout_logfile=/export/server/supervisor/logs/nginx.log
stderr_logfile=/export/server/supervisor/logs/nginx_err.log
stopasgroup=true
killasgroup=true

需要注意的是,supervisor不能监控放在后台的服务,所以不管是nginx还是tomcat都要放在前台执行,supervisor会将其放在后台执行。

监控redis

# cat redis.ini 
[program:redis-6379]
command=/usr/bin/redis-server /etc/redis.conf
autostart=true
autorestart=true
daemonize=no   #这里要设置一下,设置成no
stdout_logfile_maxbytes=20MB
stdout_logfile=/export/servers/supervisor/logs/redis-6379.log
stopasgroup=true
killasgroup=true

[program:redis-6380]
command=/usr/bin/redis-server /etc/6380/redis.conf
autostart=true
autorestart=true
daemonize=no
stdout_logfile_maxbytes=20MB
stdout_logfile=/export/servers/supervisor/logs/redis-6380.log
stopasgroup=true
killasgroup=true

redis的配置文件也要修改下,将daemonize yes改为daemonize no