Supervisord是運行在python環(huán)境下的服務(wù)監控程序。所以在安裝supervisord之前必須有python環(huán)境。
如果系統沒(méi)有PYTHON,鍵入:yum install python(CENTOS)或者apt-get installpython(UBUNTU)
鍵入:yum install python-setuptools
easy_install supervisor
兩個(gè)命令。進(jìn)行supervisor安裝
如果成功。鍵入: echo_supervisord_conf,會(huì )顯示一個(gè)superviscord_conf 的配置模板。
鍵入:echo_supervisord_conf >/etc/supervisord.conf
生成一個(gè)supervisord的配置文件
安裝就完成了
鍵入:supervisord
啟動(dòng)supersord服務(wù)程序
鍵入:supervisordctrl
可以進(jìn)行一系列命令控制。最最要的有reload start stop restart命令。
Reload重新載入supervisord.conf,一般只在修改supervisord.conf后使用,這個(gè)會(huì )讓修改相關(guān)程序配置的程序關(guān)閉。沒(méi)有修改過(guò)的程序配置的程序不會(huì )有影響。
Start啟動(dòng)應用程序,可以批處理多個(gè)程序
Stop停止應用程序,可以批處理多個(gè)程序
Restart重啟應用程序,可以批處理多個(gè)程序
鍵入: vim /etc/supervisord.conf
在文件的末尾添加一個(gè)storm ui程序監控,配置如下:
;storm ui
[program:ui]
command=/usr/storm/storm/ui-sv.sh ;被監控程序指定的運行腳本
directory=/usr/storm/storm ;被監控程序運行的路徑
autostart=false ;是否隨supervisord進(jìn)程啟動(dòng)而啟動(dòng),包括reloadconf
autorestart=true ;被監控程序異常中斷是否自動(dòng)重啟
startsecs=5 ;被監控程序啟動(dòng)時(shí)持續時(shí)間
startretries=5 ;被監控程序啟動(dòng)失敗重試的次數
redirect_stderr=true ;是否重定向std err
stdout_logfile=/tmp/ui-sv.log ;stdou 重定向輸出文件
stdout_events_enabled=true ;是否允許stdout事件
stopsignal=QUIT ;被監控程序kill的信號
如果command的欄運行的是shell腳本,那么在shell 腳本啟動(dòng)被監控程序時(shí)要用exec修飾。例如:
#!/bin/bash
exec /home/scott/install/storm/storm-0.9.0.1/bin/stormnimbus
否則,supervisord停止不了啟動(dòng)的進(jìn)程.除此之外,shell腳本里不能出現&之類(lèi)的后臺運行符號。
當你修改了supervisord.conf時(shí),要讓配置立即生效,鍵入:
supervisorctlreload
配置就生效了
當你需要啟動(dòng)一個(gè)已配置的program時(shí),鍵入:
Supervisorctlstart xxx
值得注意的是 xxx是supervisord.conf指定的名字,例如:
[program:ui],ui就是supervisorctl要控制的程序xxx
這個(gè)命令也可以批處理一批程序
Supervisorctlstar xxx1 xxx2 xxx3 …….
被監控程序的啟動(dòng)順序和start參數順序一致
當你需要停止一個(gè)已監控的程序時(shí),鍵入:
Supervisorctlstop xxx
這個(gè)命令和start用法一致,可以批處理多個(gè)程序。
當你需要重啟一個(gè)被監聽(tīng)程序時(shí),鍵入:
Supervisorctlrestart xxx
這個(gè)命令和start用法一致,可以批處理多個(gè)程序。
當你需要查看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
其他的命令就不在介紹了,用的比較少。
聯(lián)系客服