linux spervisor監(jiān)控進(jìn)程蹋笼,設(shè)置守護(hù)

Supervisord是用Python實(shí)現(xiàn)的一款的進(jìn)程管理工具妹卿,supervisord要求管理的程序是非守護(hù)程序挂捻,supervisord會(huì)幫你把它轉(zhuǎn)成daemon程序缩搅,因此如果用supervisord來(lái)管理進(jìn)程弓摘,進(jìn)程需要以非daemon的方式啟動(dòng)陨瘩。即進(jìn)程啟動(dòng)的時(shí)候需要是非守護(hù)進(jìn)程的方式啟動(dòng)娜膘。

例如:管理nginx的話逊脯,必須在nginx的配置文件里添加一行設(shè)置daemon off讓nginx以非守護(hù)進(jìn)程方式啟動(dòng)。

? ? ? ? 為每個(gè)流程實(shí)例編寫rc.d腳本通常很不方便竣贪。 rc.d腳本是進(jìn)程初始化/自動(dòng)啟動(dòng)/管理的最低通用分母形式军洼,但編寫和維護(hù)可能會(huì)很痛苦。此外演怎,rc.d腳本無(wú)法自動(dòng)重新啟動(dòng)崩潰的進(jìn)程匕争,并且許多程序在崩潰時(shí)無(wú)法正常重新啟動(dòng)。Supervisord將進(jìn)程作為其子進(jìn)程啟動(dòng)爷耀,并且可以配置為在崩潰時(shí)自動(dòng)重新啟動(dòng)它們甘桑。它還可以自動(dòng)配置為在自己的調(diào)用上啟動(dòng)進(jìn)程。

? ? ? ? Supervisord將進(jìn)程作為子進(jìn)程啟動(dòng)歹叮,因此它始終知道其子進(jìn)程的真正上/下狀態(tài)跑杭,并且可以方便地查詢此數(shù)據(jù)。

? ? ? ? 流程通常需要分組啟動(dòng)和停止咆耿,有時(shí)甚至是“優(yōu)先順序”德谅。通常很難向人們解釋如何做到這一點(diǎn)。Supervisor允許您為進(jìn)程分配優(yōu)先級(jí)萨螺,并允許用戶通過(guò)supervisorctl客戶端發(fā)出命令窄做,如“start all”和“restart all”,以預(yù)先分配的優(yōu)先級(jí)順序啟動(dòng)它們屑迂。此外浸策,可以將流程分組為“流程組”,并且可以停止一組邏輯相關(guān)流程并將其作為一個(gè)單元啟動(dòng)惹盼。主管為您提供一個(gè)啟動(dòng)庸汗,停止和監(jiān)控流程的位置。流程可以單獨(dú)控制手报,也可以成組控制蚯舱。您可以將Supervisor配置為提供本地或遠(yuǎn)程命令行和Web界面改化。

supervisord

服務(wù)器主管名為supervisord。它負(fù)責(zé)在自己的調(diào)用中啟動(dòng)子程序枉昏,響應(yīng)來(lái)自客戶端的命令陈肛,重新啟動(dòng)崩潰或退出的子進(jìn)程,記錄其子進(jìn)程stdout和stderr 輸出兄裂,以及生成和處理與子進(jìn)程生命周期中的點(diǎn)相對(duì)應(yīng)的“事件”句旱。

服務(wù)器進(jìn)程使用配置文件。這通常位于/etc/supervisord.conf中晰奖。此配置文件是“Windows-INI”樣式配置文件谈撒。通過(guò)適當(dāng)?shù)奈募到y(tǒng)權(quán)限保持此文件的安全非常重要,因?yàn)樗赡馨醇用艿挠脩裘兔艽a匾南。

supervisorctl

主管的命令行客戶端部分名為 supervisorctl啃匿。它為supervisord提供的功能提供了類似shell的界面。從 supervisorctl蛆楞,用戶可以連接到不同的 supervisord進(jìn)程(一次一個(gè))溯乒,獲取由子進(jìn)程控制的狀態(tài),停止和啟動(dòng)子進(jìn)程豹爹,并獲取supervisord的運(yùn)行進(jìn)程列表裆悄。

命令行客戶端通過(guò)UNIX域套接字或Internet(TCP)套接字與服務(wù)器通信。在允許客戶端執(zhí)行命令之前帅戒,服務(wù)器可以斷言客戶端的用戶應(yīng)該提供身份驗(yàn)證憑據(jù)灯帮。客戶端進(jìn)程通常使用與服務(wù)器相同的配置文件逻住,但其中包含[supervisorctl]部分的任何配置文件都可以使用钟哥。

網(wǎng)絡(luò)服務(wù)器

與功能媲美A(稀疏)的Web用戶界面 supervisorctl可以通過(guò)瀏覽器,如果你開始訪問(wèn) supervisord對(duì)互聯(lián)網(wǎng)插座瞎访。在激活配置文件的[inet_http_server]部分后腻贰,訪問(wèn)服務(wù)器URL(例如http:// localhost:9001 /)以通過(guò)Web界面查看和控制進(jìn)程狀態(tài)。

cd /usr/local/src

wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz

tar -zxvf supervisor-3.3.2.tar.gz

cd supervisor-3.3.2

python setup.py install #本地python版本為python2.7

# python2.7 setup.py install #本地python版本為python3以上

二扒秸,配置

1.生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

2.啟動(dòng)

supervisord -c /etc/supervisord.conf

查看supervisord是否在運(yùn)行:

ps aux | grep supervisord

3.配置

打開配置文件

vim /etc/supervisord.conf

在配置文件底部播演,配置包括:

[include]

files=/etc/supervisor/*.conf #若你本地?zé)o/etc/supervisor目錄,請(qǐng)自建

用主管管理進(jìn)程伴奥,配置如下:

cd /etc/supervisor

vim ossfs.conf # 這里的文件名稱自定義

加入以下內(nèi)容:

; 設(shè)置進(jìn)程的名稱写烤,使用 supervisorctl 來(lái)管理進(jìn)程時(shí)需要使用該進(jìn)程名

[program:your_program_name]

command=python server.py --port=9000

;numprocs=1? ? ? ? ? ? ? ? ; 默認(rèn)為1

;process_name=%(program_name)s? ; 默認(rèn)為 %(program_name)s,即 [program:x] 中的 x

directory=/home/python/tornado_server ; 執(zhí)行 command 之前拾徙,先切換到工作目錄

user=oxygen? ? ? ? ? ? ? ? ; 使用 oxygen 用戶來(lái)啟動(dòng)該進(jìn)程

; 程序崩潰時(shí)自動(dòng)重啟洲炊,重啟次數(shù)是有限制的,默認(rèn)為3次

autorestart=true? ? ? ? ? ?

redirect_stderr=true? ? ? ? ; 重定向輸出的日志

stdout_logfile = /var/log/supervisord/tornado_server.log

loglevel=info

這里是啟動(dòng)要配置的參數(shù),請(qǐng)根據(jù)自己的項(xiàng)目自定義添加

更改了主管配置文件暂衡,需要重啟询微,運(yùn)行以下指令:

supervisorctl reload

4.supervisorctl的用法

supervisord : 啟動(dòng)supervisor

supervisorctl reload :修改完配置文件后重新啟動(dòng)supervisor

supervisorctl status :查看supervisor監(jiān)管的進(jìn)程狀態(tài)

supervisorctl start 進(jìn)程名 :?jiǎn)?dòng)XXX進(jìn)程

supervisorctl stop 進(jìn)程名 :停止XXX進(jìn)程

supervisorctl stop all:停止全部進(jìn)程,注:start狂巢、restart撑毛、stop都不會(huì)載入最新的配置文件。

supervisorctl update:根據(jù)最新的配置文件唧领,啟動(dòng)新配置或有改動(dòng)的進(jìn)程藻雌,配置沒(méi)有改動(dòng)的進(jìn)程不會(huì)受影響而重啟

5.若不使用控制臺(tái)來(lái)管理進(jìn)程,用瀏覽器來(lái)管理疹吃,該如何配置蹦疑?

打開配置文件

vim /etc/supervisord.conf

配置inet_http_server

[inet_http_server]? ? ?

port=127.0.0.1:9001? ? ; 服務(wù)器ip

username=xxx? ? ? ? ;自定義

password=xxx? ? ? ? ;自定義

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末西雀,一起剝皮案震驚了整個(gè)濱河市萨驶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌艇肴,老刑警劉巖腔呜,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異再悼,居然都是意外死亡核畴,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門冲九,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)谤草,“玉大人,你說(shuō)我怎么就攤上這事莺奸〕蠛ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵灭贷,是天一觀的道長(zhǎng)温学。 經(jīng)常有香客問(wèn)我,道長(zhǎng)甚疟,這世上最難降的妖魔是什么仗岖? 我笑而不...
    開封第一講書人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮览妖,結(jié)果婚禮上轧拄,老公的妹妹穿的比我還像新娘。我一直安慰自己讽膏,他們只是感情好檩电,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般是嗜。 火紅的嫁衣襯著肌膚如雪愈案。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評(píng)論 1 305
  • 那天鹅搪,我揣著相機(jī)與錄音站绪,去河邊找鬼。 笑死丽柿,一個(gè)胖子當(dāng)著我的面吹牛恢准,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播甫题,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼馁筐,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了坠非?” 一聲冷哼從身側(cè)響起敏沉,我...
    開封第一講書人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炎码,沒(méi)想到半個(gè)月后盟迟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潦闲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年攒菠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歉闰。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辖众,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出和敬,到底是詐尸還是另有隱情凹炸,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布概龄,位于F島的核電站还惠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏私杜。R本人自食惡果不足惜蚕键,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衰粹。 院中可真熱鬧锣光,春花似錦、人聲如沸铝耻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至频丘,卻和暖如春办成,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搂漠。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工迂卢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桐汤。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓而克,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親怔毛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子员萍,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容