mac-服務(wù)管理-supervisor

安裝配置

安裝

$ brew install supervisor

配置自啟動(dòng)

完成后有如下提示信息

To have launchd start supervisor now and restart at login:
  brew services start supervisor # 自動(dòng)啟動(dòng)
Or, if you don't want/need a background service you can just run:
  supervisord -c /usr/local/etc/supervisord.ini
==> Summary # 安裝位置
??  /usr/local/Cellar/supervisor/3.3.3: 541 files, 6.5MB

提示信息已經(jīng)說的很清楚了:

  • 不想讓supervisor作為后臺(tái)服務(wù)隨系統(tǒng)啟動(dòng)栏账,可以通過用指定配置文件的方式來啟動(dòng):
supervisord -c /usr/local/etc/supervisord.ini
  • 如果要讓supervisor隨系統(tǒng)自啟動(dòng)忠烛,用一下命令就可以了:
brew services start supervisor

默認(rèn)的配置文件:/usr/local/etc/supervisord.ini

  • 設(shè)置隨系統(tǒng)自動(dòng)啟動(dòng)
hylexus@hylexusPC bin $ brew services start supervisor
==> Tapping homebrew/services
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 12 (delta 0), reused 7 (delta 0), pack-reused 0
Unpacking objects: 100% (12/12), done.
Tapped 0 formulae (40 files, 54.2KB)
==> Successfully started `supervisor` (label: homebrew.mxcl.supervisor)

其實(shí)在安裝完成后檬输,已經(jīng)自動(dòng)生成了 plist 文件模板存皂,位置在這里: /usr/local/Cellar/supervisor/3.3.3/homebrew.mxcl.supervisor.plist 宾符。

常用命令

supervisor提供的幾個(gè)可執(zhí)行文件(鏈接文件):

hylexus@hylexusPC bin $ pwd
/usr/local/Cellar/supervisor/3.3.3/bin
hylexus@hylexusPC bin $ ls
echo_supervisord_conf pidproxy              supervisorctl         supervisord

命令幫助:

# 帶上配置文件參數(shù) 不然會(huì)在進(jìn)入supervisor的shell的時(shí)候提示如下錯(cuò)誤
hylexus@hylexusPC etc $ supervisorctl
http://localhost:9001 refused connection
supervisor>
hylexus@hylexusPC etc $ supervisorctl -c /usr/local/etc/supervisord.ini
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail
avail  fg        pid   remove  shutdown  status  update
clear  maintail  quit  reread  signal    stop    version

supervisor>

####################

hylexus@hylexusPC etc $ supervisorctl --help
supervisorctl -- control applications run by supervisord from the cmd line.

Usage: /usr/local/bin/supervisorctl [options] [action [arguments]]

Options:
-c/--configuration FILENAME -- configuration file path (searches if not given)
-h/--help -- print usage message and exit
-i/--interactive -- start an interactive shell after executing commands
-s/--serverurl URL -- URL
  • echo_supervisord_conf 可以輸出配置文件模板添谊。
hylexus@hylexusPC bin $ echo_supervisord_conf

[unix_http_server]
file=/usr/local/var/run/supervisor.sock   ; the path to the socket file
;chmod=0700                 ; socket file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)

;[inet_http_server]         ; inet (TCP) server disabled by default
;port=127.0.0.1:9001        ; ip_address:port specifier, *:port for all iface
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)
; ......
  • 經(jīng)常啟突韭祝控制
supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord
supervisor> start logstash
logstash: started
supervisor> stop logstash

配置示例(logstash)

配置文件的最后一行是這樣的:

[include]
files = /usr/local/etc/supervisor.d/*.ini

許多軟件的配置文件都是這個(gè)套路,就和 nginx 類似的遭贸,最后一行的配置是指將 files 所指定的目錄里以.ini結(jié)尾的文件也包含進(jìn)來作為配置文件戈咳。

這樣一來,可以方便的為不同的服務(wù)配置不同的配置文件。

下面看看一個(gè) logstash 的示例級別配置:

  • 準(zhǔn)備配置文件
hylexus@hylexusPC supervisor.d $ vim /usr/local/etc/supervisor.d/logstash.ini

寫入如下內(nèi)容:

[program:logstash]
directory = /Users/hylexus/app/logstash-5.2.0/bin
command = /Users/hylexus/app/logstash-5.2.0/bin/logstash -f /Users/hylexus/app/logstash-5.2.0/my-task/echo.conf -l /Users/hylexus/app/logstash-5.2.0/logs/test-logstash.log
autostart = false
startsecs = 5
autorestart = true
startretries = 3
user = hylexus
redirect_stderr = true
stdout_logfile_backups = 20
stdout_logfile=/usr/local/var/log/logstash.log
stdout_logfile_maxbytes=10MB
stderr_logfile=/usr/local/var/log/logstash-err.log
stderr_logfile_maxbytes=10MB
; environment=PYTHONPATH=$PYTHONPATH:/path/to/somewhere

echo.conf

input {
    stdin { }
}
output {
    stdout { }
}
  • 啟動(dòng)logstash
hylexus@hylexusPC etc $ supervisorctl -c /usr/local/etc/supervisord.ini
supervisor> 
supervisor> reload
Really restart the remote supervisord process y/N? y
Restarted supervisord
supervisor> start logstash
logstash: started
supervisor> status
logstash                         RUNNING   pid 41344, uptime 0:01:34
  • 查看logstash日志輸出
hylexus@hylexusPC supervisor.d $ tail -f /usr/local/var/log/logstash.log
Sending Logstash's logs to /usr/local/var/run/log/logstash.log which is now configured via log4j2.properties
[2017-10-08T21:10:25,839][INFO ][logstash.pipeline        ] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
[2017-10-08T21:10:25,855][INFO ][logstash.pipeline        ] Pipeline main started
[2017-10-08T21:10:25,921][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
  • 停止logstash
supervisor> stop logstash
logstash: stopped
supervisor> status
logstash                         STOPPED   Oct 08 09:11 PM
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末著蛙,一起剝皮案震驚了整個(gè)濱河市删铃,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌踏堡,老刑警劉巖猎唁,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異顷蟆,居然都是意外死亡诫隅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門帐偎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逐纬,“玉大人,你說我怎么就攤上這事削樊』砩” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵漫贞,是天一觀的道長甸箱。 經(jīng)常有香客問我,道長迅脐,這世上最難降的妖魔是什么芍殖? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮谴蔑,結(jié)果婚禮上围小,老公的妹妹穿的比我還像新娘。我一直安慰自己树碱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布变秦。 她就那樣靜靜地躺著成榜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹦玫。 梳的紋絲不亂的頭發(fā)上赎婚,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機(jī)與錄音樱溉,去河邊找鬼挣输。 笑死,一個(gè)胖子當(dāng)著我的面吹牛福贞,可吹牛的內(nèi)容都是我干的撩嚼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼完丽!你這毒婦竟也來了恋技?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤逻族,失蹤者是張志新(化名)和其女友劉穎蜻底,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聘鳞,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡薄辅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抠璃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片站楚。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸡典,靈堂內(nèi)的尸體忽然破棺而出源请,到底是詐尸還是另有隱情,我是刑警寧澤彻况,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布谁尸,位于F島的核電站,受9級特大地震影響纽甘,放射性物質(zhì)發(fā)生泄漏良蛮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一悍赢、第九天 我趴在偏房一處隱蔽的房頂上張望决瞳。 院中可真熱鬧,春花似錦左权、人聲如沸皮胡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屡贺。三九已至,卻和暖如春锌杀,著一層夾襖步出監(jiān)牢的瞬間甩栈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工糕再, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留量没,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓突想,卻偏偏與公主長得像殴蹄,于是被迫代替她去往敵國和親究抓。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

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