飞道的博客

Linux 进程监控工具Supervisor 之Tomcat管理(二)

296人阅读  评论(0)

简述

现在,我来通过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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场