supervisord監控詳解

1 Supervisord的安裝

Supervisord是運行在python環境下的服務監控程序。所以在安裝supervisord之前必須有python環境。

 

如果系統沒有PYTHON,鍵入:yum install python(CENTOS)或者apt-get installpython(UBUNTU)

 

鍵入:yum install python-setuptools

         easy_install supervisor

       兩個命令。進行supervisor安裝

如果成功。鍵入: echo_supervisord_conf,會顯示一個superviscord_conf 的配置模板。

 

鍵入:echo_supervisord_conf >/etc/supervisord.conf

生成一個supervisord的配置文件

 

安裝就完成了

 

 

2啓動supervisord

鍵入:supervisord

         啓動supersord服務程序

鍵入:supervisordctrl

可以進行一系列命令控制。最最要的有reload start stop restart命令。

         Reload重新載入supervisord.conf,一般只在修改supervisord.conf後使用,這個會讓修改相關程序配置的程序關閉。沒有修改過的程序配置的程序不會有影響。

       Start啓動應用程序,可以批處理多個程序

       Stop停止應用程序,可以批處理多個程序

       Restart重啓應用程序,可以批處理多個程序

 

 

3Supervisord的配置文件

鍵入: vim /etc/supervisord.conf

在文件的末尾添加一個storm ui程序監控,配置如下:

;storm ui

[program:ui]

command=/usr/storm/storm/ui-sv.sh    ;被監控程序指定的運行腳本

directory=/usr/storm/storm                      ;被監控程序運行的路徑

autostart=false                                             ;是否隨supervisord進程啓動而啓動,包括reloadconf

autorestart=true                                          ;被監控程序異常中斷是否自動重啓

startsecs=5                                                    ;被監控程序啓動時持續時間

startretries=5                                                ;被監控程序啓動失敗重試的次數

redirect_stderr=true                                   ;是否重定向std err

stdout_logfile=/tmp/ui-sv.log                    ;stdou 重定向輸出文件

stdout_events_enabled=true                    ;是否允許stdout事件

stopsignal=QUIT                                           ;被監控程序kill的信號

 

如果command的欄運行的是shell腳本,那麼在shell 腳本啓動被監控程序時要用exec修飾。例如:

#!/bin/bash

exec /home/scott/install/storm/storm-0.9.0.1/bin/stormnimbus

 

否則,supervisord停止不了啓動的進程.除此之外,shell腳本里不能出現&之類的後臺運行符號。

 

4supervisorctl命令

4.1reload命令

當你修改了supervisord.conf時,要讓配置立即生效,鍵入:

         supervisorctlreload

配置就生效了

 

4.2start命令

當你需要啓動一個已配置的program時,鍵入:

         Supervisorctlstart xxx

值得注意的是 xxx是supervisord.conf指定的名字,例如:

[program:ui],ui就是supervisorctl要控制的程序xxx

 

這個命令也可以批處理一批程序

         Supervisorctlstar xxx1 xxx2 xxx3 …….

被監控程序的啓動順序和start參數順序一致

4.3stop命令

當你需要停止一個已監控的程序時,鍵入:

         Supervisorctlstop xxx

這個命令和start用法一致,可以批處理多個程序。

 

4.4restart

當你需要重啓一個被監聽程序時,鍵入:

         Supervisorctlrestart xxx

這個命令和start用法一致,可以批處理多個程序。

 

 

4.5status

當你需要查看supervisord監控了什麼程序,你只需要鍵入:

Supervisorctl status

就可以顯示:

kafka                            STOPPED    May 27 01:57 PM

nimbus                           STOPPED    Not started

sv                               RUNNING    pid 24072, uptime 1:05:41

ui                               STOPPED    Not started

 

其他的命令就不在介紹了,用的比較少。

 

 

 

 

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