Linux 進程監控工具Supervisor 之Tomcat管理(二)

簡述

現在,我來通過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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章