简述
现在,我来通过supervisor
进程管理工具实现对 tomcat
进行监控管理,在tomcat 服务停止服务的时候,通过supervisor 工具来自动重启异常Tomcat,来提供服务。
一、配置Supervisor 工具配置监控管理Tomcat、httpd
1. Tomcat 服务的监控管理配置文件:
[program:tomcat]
command=/opt/apache-tomcat-7.0.96/bin/catalina.sh run ; #启动运行的命令(前台运行)
process_name=%(program_name)s ; 程序名称
numprocs=1 ; 复制的进程数
directory=/opt/apache-tomcat-7.0.96 ; 启动之后进入的目录
priority=1 ; 启动的相对优先级
autostart=true ; supervisord 启动后,也启动(默认跟随启动)
startsecs=3 ; 程序持续运行3秒后任即为程序已经运行
startretries=3 ; 启动失败后最大的重启尝试次数,默认3次
autorestart=true ; 异常终止后,自启
exitcodes=0 ;异常退出错误码
stopsignal=QUIT ; 向进程发送kill 信号:默认TERM,
stopwaitsecs=10 ; 结束后最大的等待时间
stopasgroup=true ; send stop signal to the UNIX process group (default false)
killasgroup=true ; SIGKILL the UNIX process group (def false)
redirect_stderr=true ; 重定向错误输出到标准输出
stdout_logfile=/opt/apache-tomcat-7.0.96/logs/catalina.out ; 日志输出路径
stdout_logfile_maxbytes=10MB ; 日志文件大小
stdout_logfile_backups=20 ; 备份日志份数
2. 配置httpd Web 服务进程监控
[program:httpd]
command=/opt/httpd-2.2.15/bin/httpd -D FOREGROUND ; httpd 在前台运行
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1 ; number of processes copies to start (def 1)
directory=/opt/httpd-2.2.15 ; directory to cwd to before exec (def no cwd)
priority=1 ; the relative start priority (default 999)
autostart=true ; start at supervisord start (default: true)
startsecs=3 ; # of secs prog must stay up to be running (def. 1)
startretries=3 ; max # of serial start failures when starting (default 3)
autorestart=true ; when to restart if exited after running (def: unexpected)
exitcodes=0 ; 'expected' exit codes used with autorestart (default 0)
stopsignal=QUIT ; signal used to kill process (default TERM)
stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10)
stopasgroup=true ; send stop signal to the UNIX process group (default false)
killasgroup=true ; SIGKILL the UNIX process group (def false)
redirect_stderr=true ; 重定向错误日志到标准输出
stdout_logfile=/opt/httpd-2.2.15/logs/access_errs.log ; 错误输出日志
stdout_logfile_maxbytes=10MB ; max # logfile bytes b4 rotation (default 50MB)
stdout_logfile_backups=10 ; # of stdout logfile backups (0 means none, default 10)
二、启动管理
默认我们都是采用startup.sh
启动Apache Tomcat 服务,这个实际是通过catalina.sh 启动 Tomcat,因此,我们需要修改启动方式为 /opt/apache-tomcat-7.0.96/bin/catalina.sh run
来运行Tomcat 服务,
1. 重新加载
[root@localhost supervisord]# supervisorctl reload #重新加载配置文件
Restarted supervisord
[root@localhost supervisord]# supervisorctl
tomcat RUNNING pid 53730, uptime 0:02:35
supervisor>
2. 登录Web 管理控制台
2.1 监控Tomcat 服务管理:
当Tomcat 异常退出或是进程不存在的时候,supervisor 会根据配置文件定义的启动命令进行重启操作。
2.2 添加httpd服务进程监控管理:
通过上面的实践案例,我们通过Supervisor 进程管理工具,对本地应用服务进行进程管理与监控检测,在服务异常时Supervisor 会通过定义好的启动命令,进行重启恢复操作,这样来提高我们应用的服务可用性。同时也实现了对守护进程httpd
的监控与进程管理。
三、Supervisor Web 管理控制台简介
这里仅是使用supervisor 默认的Web控制台,还有其他的扩展插件,更多详见:Dashboards and Tools for Multiple Supervisor Instances
转载:https://blog.csdn.net/AMimiDou_212/article/details/105891268
查看评论