校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Linux系統下的進程監控工具Supervisor的基本使用方法

Linux系統下的進程監控工具Supervisor的基本使用方法

熱門標簽:軟件電話機器人 金華呼叫中心外呼系統廠家 高德地圖標注在電腦上 杭州電銷機器人有效果嗎 襄陽地圖標注店 柯城手機地圖如何做地圖標注 申請400電話流程好嗎 小語股票電銷機器人 萊蕪移動外呼系統

Supervisor是一個C/S系統,它允許用戶在類UNIX系統上控制一些進程。它具有以下特性:

    1    簡單

            Supervisor通過INI格式配置文件進行配置,很容易掌握,它為每個進程提供了很多配置選項,可以使你很容易的重啟進程或者自動的輪轉日志。

    2    統一

            Supervisor提供了一種統一的方式來start、stop、monitor你的進程, 進程可以單獨控制,也可以成組的控制。你可以在本地或者遠程命令行或者web接口來配置Supervisor。

    3    有效

            Supervisor通過fork/exec啟動它的子進程,子進程并不是守護進程。當一個進程終止的時候,操作系統會立即給Supervisor發送一個信號,而不是像其他解決方案依賴PID文件。

    4    可擴展

            Supervisor包含一個簡單的事件通知協議,因此任何程序都可以監控它,而且提供一個XML-RPC控制接口。

    5    兼容

            除了windows平臺,其他平臺都可運行。

Supervisor系統的組件:

    supervisord:

        服務會啟動supervisord服務,它負責調用自己啟動子程序,響應來自客戶端的命令,重啟crash或者退出的進程,記錄進程的輸出信息,收集事件信息。該服務的配置文件在/etc/supervisor/supervisord.conf

    supervisorctl:

        客戶端的命令行工具,提供一個類shell接口,通過它你可以連接到不同的supervisord進程上來管理它們各自的子程序。客戶端命令通過UNIX socket或者TCP來和服務通訊,服務端可以要求客戶端提供身份驗證之后才能進行操作([supervisorctl])。

    Web Server:

        一個小的web接口被集成進了supervisorctl,重啟supervisord之后就可以訪問了([inet_http_server])。   

    XML-RPC Interface:

        就像HTTP提供WEB UI一樣,同時還提供了XML-RPC接口來控制supervisor和由它運行的程序。

安裝:

        supervisor是python編寫的,顯然用easy_install、pip都可以安裝,我懶,直接apt-get了,在ubuntu14.04下安裝完后版本是3.0b2。

Supervisor服務的啟動

        其實啟動Supervisor很簡單,supervisord -h看看就知道了,最簡單的-c根配置文件即可:


復制代碼
代碼如下:

supervisord -- run a set of applications as daemons.

Usage: /usr/bin/supervisord [options]

Options:
-c/--configuration FILENAME -- configuration file
-n/--nodaemon -- run in the foreground (same as 'nodaemon true' in config file)
-h/--help -- print this usage message and exit
-v/--version -- print supervisord version number and exit
-u/--user USER -- run supervisord as this user (or numeric uid)
-m/--umask UMASK -- use this umask for daemon subprocess (default is 022)
-d/--directory DIRECTORY -- directory to chdir to when daemonized
-l/--logfile FILENAME -- use FILENAME as logfile path
-y/--logfile_maxbytes BYTES -- use BYTES to limit the max size of logfile
-z/--logfile_backups NUM -- number of backups to keep when max bytes reached
-e/--loglevel LEVEL -- use LEVEL as log level (debug,info,warn,error,critical)
-j/--pidfile FILENAME -- write a pid file for the daemon process to FILENAME
-i/--identifier STR -- identifier used for this instance of supervisord
-q/--childlogdir DIRECTORY -- the log directory for child process logs
-k/--nocleanup --  prevent the process from performing cleanup (removal of
                   old automatic child log files) at startup.
-a/--minfds NUM -- the minimum number of file descriptors for start success
-t/--strip_ansi -- strip ansi escape codes from process output
--minprocs NUM  -- the minimum number of processes available for start success
--profile_options OPTIONS -- run supervisord under profiler and output
                             results based on OPTIONS, which  is a comma-sep'd
                             list of 'cumulative', 'calls', and/or 'callers',
                             e.g. 'cumulative,callers')
        不過既然我這懶人是用apt-get安裝的,那安裝包的規范必然符合debian系的風格了,直接service supervisor start即可啟動,且慢,我們還沒配置supervisor的配置文件呢,啟動了也沒什么效果。我們后面詳解配置文件的配置。

supervisorctl客戶端的使用

        supervisorctl有兩種模式,一種是交互模式,一種是命令行模式。在命令行輸入supervisorctl直接回車,即可進入交互模式。

復制代碼
代碼如下:

supervisorctl -- control applications run by supervisord from the cmd line.

Usage: /usr/bin/supervisorctl [options] [action [arguments]]
 
Options:
-c/--configuration -- configuration file path (default /etc/supervisor.conf)
-h/--help -- print usage message and exit
-i/--interactive -- start an interactive shell after executing commands
-s/--serverurl URL -- URL on which supervisord server is listening
     (default "http://localhost:9001"). 
-u/--username -- username to use for authentication with server
-p/--password -- password to use for authentication with server
-r/--history-file -- keep a readline history (if readline is available)

復制代碼
代碼如下:

action [arguments] -- see below

Actions are commands like "tail" or "stop".  If -i is specified or no action is
specified on the command line, a "shell" interpreting actions typed
interactively is started.  Use the action "help" to find out about available
actions.
Supervisor的開機自啟動

        如果你是pip或者easy_install安裝的,開機服務自啟動還真是個麻煩事,不過官方已經給出一些rc.d腳本示例了,在github上,不過由于我是apt-get安裝的,顯然這個開機自啟動是不用擔心的,用debian的update-rc.d即可搞定。

Supervisor的進程安全

        既然是用Supervisor來保證其他進程的正常運行,但是萬一Supervisor進程掛了怎么辦,我們可以使用daemontools來保證Supervisor正常運行,就類似于監控的監控。

supervisord的配置文件主要由幾個配置段構成,配置項以K/V格式呈現,下面就看看各個配置端需要怎樣配置:

[unix_http_server]

    在該配置塊的參數項表示的是一個監聽在socket上的HTTP server,如果[unix_http_server]塊不在配置文件中,則不會啟動基于socket的HTTP server。

file:一個unix domain socket的文件路徑,HTTP/XML-RPC會監聽在這上面
chmod:在啟動時修改unix domain socket的mode
chown:修改socket文件的屬主
username:HTTP server在認證時的用戶名
password:認證密碼span style="font-family:'Microsoft YaHei';font-size:16px;line-height:1.5;">/span>
eg:

復制代碼
代碼如下:

[unix_http_server]
file = /tmp/supervisor.sock
chmod = 0777
chown= nobody:nogroup
username = user
password = 123
[inet_http_server]

    在該配置塊的參數項表示的是一個監聽在TCP上的HTTP server,如果[inet_http_server]塊不在配置文件中,則不會啟動基于TCP的HTTP server。

port:TCP監聽的地址和端口(ip:port),這個地址會被HTTP/XML-RPC監聽
username:HTTP server在認證時的用戶名
password:認證密碼
eg:

復制代碼
代碼如下:

[inet_http_server]
port = 127.0.0.1:9001
username = user
password = 123
[supervisord]

該配置塊的參數項是關于supervisord進程的全局配置項。
logfile:log文件路徑
logfile_maxbytes:log文件達到多少后自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日志文件大小
logfile_backups:輪轉日志備份的數量,默認是10,如果設置為0,則不備份
loglevel:error、warn、info、debug、trace、blather、critical
pidfile:pid文件路徑
umask:umask值,默認022
nodaemon:如果設置為true,則supervisord在前臺啟動,而不是以守護進程啟動
minfds:supervisord在成功啟動前可用的最小文件描述符數量,默認1024
minprocs:supervisord在成功啟動前可用的最小進程描述符數量,默認200
nocleanup:防止supervisord在啟動的時候清除已經存在的子進程日志文件
childlogdir:自動啟動的子進程的日志目錄
user:supervisord的運行用戶
directory:supervisord以守護進程運行的時候切換到這個目錄
strip_ansi:消除子進程日志文件中的轉義序列
environment:一個k/v對的list列表
eg:

復制代碼
代碼如下:

[supervisord]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
user = chrism
identifier = supervisor
directory = /tmp
nocleanup = true
childlogdir = /tmp
strip_ansi = false
environment = KEY1="value1",KEY2="value2"
[supervisorctl]

    該配置塊參數是關于supervisorctl

serverurl:這個url是用來訪問supervisord服務的(http://localhost:9001),或者是個sockets文件(unix:///absolute/path/to/file.sock)
username:supervisorctl連接supervisord的認證用戶
password:認證密碼
prompt:默認是supervisor
history_file:history文件路徑
eg:

復制代碼
代碼如下:

[supervisorctl]
serverurl = unix:///tmp/supervisor.sock
username = chris
password = 123
prompt = mysupervisor
[program:x]

    該配置塊包含一個或者多個program段,program來表明supervisord要控制哪些程序。該配置塊的頭部是有固定格式的,一個關鍵字program,后面跟著一個冒號,接下來才是程序名。例如:[program:foo],foo就是程序名,在使用supervisorctl來操作程序的時候,就是以foo來標明的。

command:啟動程序使用的命令,可以是絕對路徑或者相對路徑
process_name:一個python字符串表達式,用來表示supervisor進程啟動的這個的名稱,默認值是%(program_name)s
numprocs:Supervisor啟動這個程序的多個實例,如果numprocs>1,則process_name的表達式必須包含%(process_num)s,默認是1
numprocs_start:一個int偏移值,當啟動實例的時候用來計算numprocs的值
priority:權重,可以控制程序啟動和關閉時的順序,權重越低:越早啟動,越晚關閉。默認值是999
autostart:如果設置為true,當supervisord啟動的時候,進程會自動重啟。
autorestart:值可以是false、true、unexpected。false:進程不會自動重啟,unexpected:當程序退出時的退出碼不是exitcodes中定義的時,進程會重啟,true:進程會無條件重啟當退出的時候。
startsecs:程序啟動后等待多長時間后才認為程序啟動成功
startretries:supervisord嘗試啟動一個程序時嘗試的次數。默認是3
exitcodes:一個預期的退出返回碼,默認是0,2。
stopsignal:當收到stop請求的時候,發送信號給程序,默認是TERM信號,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
stopwaitsecs:在操作系統給supervisord發送SIGCHILD信號時等待的時間
stopasgroup:如果設置為true,則會使supervisor發送停止信號到整個進程組
killasgroup:如果設置為true,則在給程序發送SIGKILL信號的時候,會發送到整個進程組,它的子進程也會受到影響。
user:如果supervisord以root運行,則會使用這個設置用戶啟動子程序
redirect_stderr:如果設置為true,進程則會把標準錯誤輸出到supervisord后臺的標準輸出文件描述符。
stdout_logfile:把進程的標準輸出寫入文件中,如果stdout_logfile沒有設置或者設置為AUTO,則supervisor會自動選擇一個文件位置。
stdout_logfile_maxbytes:標準輸出log文件達到多少后自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日志文件大小
stdout_logfile_backups:標準輸出日志輪轉備份的數量,默認是10,如果設置為0,則不備份
stdout_capture_maxbytes:當進程處于stderr capture mode模式的時候,寫入FIFO隊列的最大bytes值,單位可以是KB、MB、GB
stdout_events_enabled:如果設置為true,當進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發
stderr_logfile:把進程的錯誤日志輸出一個文件中,除非redirect_stderr參數被設置為true
stderr_logfile_maxbytes:錯誤log文件達到多少后自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日志文件大小
stderr_logfile_backups:錯誤日志輪轉備份的數量,默認是10,如果設置為0,則不備份
stderr_capture_maxbytes:當進程處于stderr capture mode模式的時候,寫入FIFO隊列的最大bytes值,單位可以是KB、MB、GB
stderr_events_enabled:如果設置為true,當進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發
environment:一個k/v對的list列表
directory:supervisord在生成子進程的時候會切換到該目錄
umask:設置進程的umask
serverurl:是否允許子進程和內部的HTTP服務通訊,如果設置為AUTO,supervisor會自動的構造一個url
   
eg:

復制代碼
代碼如下:

[program:cat]
command=/bin/cat
process_name=%(program_name)s
numprocs=1
directory=/tmp
umask=022
priority=999
autostart=true
autorestart=true
startsecs=10
startretries=3
exitcodes=0,2
stopsignal=TERM
stopwaitsecs=10
user=chrism
redirect_stderr=false
stdout_logfile=/a/path
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/a/path
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment=A="1",B="2"
serverurl=AUTO

標簽:天門 黔南 鶴壁 欽州 景德鎮 海北 河南 威海

巨人網絡通訊聲明:本文標題《Linux系統下的進程監控工具Supervisor的基本使用方法》,本文關鍵詞  Linux,系統,下,的,進程,監控,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux系統下的進程監控工具Supervisor的基本使用方法》相關的同類信息!
  • 本頁收集關于Linux系統下的進程監控工具Supervisor的基本使用方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    在线亚洲一区二区| 亚洲国产精品麻豆| 欧美日韩免费观看一区二区三区| 久久久久国产精品免费免费搜索| 欧美性色aⅴ视频一区日韩精品| 国产精品自拍三区| 九九久久精品视频| 日本在线不卡视频一二三区| 午夜欧美一区二区三区在线播放| 亚洲激情成人在线| 亚洲综合免费观看高清在线观看| 一区二区三区波多野结衣在线观看| 亚洲女与黑人做爰| 一区二区三区小说| 日韩成人精品在线观看| 美女视频黄免费的久久| 黑人精品欧美一区二区蜜桃| 国产一二精品视频| 91在线你懂得| 欧美日本国产视频| 26uuu亚洲| 中文字幕日本不卡| 偷拍与自拍一区| 国内偷窥港台综合视频在线播放| 国产一区二区三区黄视频| 国产白丝精品91爽爽久久| 91免费看`日韩一区二区| 欧美日本国产视频| 国产日本欧美一区二区| 亚洲黄色尤物视频| 麻豆精品视频在线| 99麻豆久久久国产精品免费优播| 欧美视频你懂的| 久久久国产精品午夜一区ai换脸| 亚洲精品中文在线影院| 男男gaygay亚洲| 99久久精品免费看国产| 在线91免费看| 自拍视频在线观看一区二区| 视频一区二区中文字幕| 成人看片黄a免费看在线| 欧美日韩中字一区| 欧美激情资源网| 三级在线观看一区二区 | 在线观看www91| 亚洲精品一区二区三区香蕉| 亚洲免费成人av| 国产精品一二一区| 777久久久精品| 亚洲女性喷水在线观看一区| 国产一区二区三区四| 欧美日韩一区二区三区视频 | 国产在线精品一区二区夜色| 91丨porny丨国产| 精品粉嫩aⅴ一区二区三区四区| 国产精品理论片| 精品一区在线看| 欧美日韩成人在线| 尤物av一区二区| 粉嫩aⅴ一区二区三区四区| 日韩天堂在线观看| 午夜久久久久久久久久一区二区| youjizz国产精品| 久久久影视传媒| 免费成人你懂的| 91麻豆精品国产91久久久久| 亚洲色欲色欲www在线观看| 国产成人在线视频网站| 精品久久人人做人人爽| 丝瓜av网站精品一区二区| 欧美性生活久久| 亚洲一区二区av电影| 91女人视频在线观看| 久久精品亚洲精品国产欧美| 另类小说视频一区二区| 欧美一级片在线观看| 天天色天天爱天天射综合| 在线观看日韩高清av| 一区二区中文字幕在线| jizz一区二区| 国产精品第五页| 91丨九色丨蝌蚪富婆spa| 亚洲色图一区二区三区| 欧美视频在线观看一区二区| 亚洲精品视频自拍| 欧美日本在线观看| 奇米影视一区二区三区| 日韩美女主播在线视频一区二区三区 | 91精品国产麻豆国产自产在线 | 欧美久久一二区| 午夜视频在线观看一区二区三区| 欧美性一二三区| 日本亚洲欧美天堂免费| www日韩大片| 成人免费视频国产在线观看| 中文字幕亚洲精品在线观看 | 精品一区二区在线免费观看| 欧美精品一区二区久久婷婷| 国产精品18久久久久久久久| 国产精品乱码人人做人人爱 | 日韩欧美一二三四区| 国产一区二区三区日韩| 中文字幕精品三区| 欧美午夜精品理论片a级按摩| 日韩国产精品久久久| 久久久久久久久久久久久久久99| 成人午夜激情在线| 亚洲香蕉伊在人在线观| 久久色视频免费观看| 91麻豆成人久久精品二区三区| 五月天一区二区| 国产欧美日韩视频一区二区| 在线国产亚洲欧美| 免费观看91视频大全| 国产精品成人免费在线| 欧美一区二区三区思思人| 高潮精品一区videoshd| 亚洲成av人片一区二区梦乃| xvideos.蜜桃一区二区| 欧美性xxxxxx少妇| 国产大陆亚洲精品国产| 亚洲成人免费视频| 国产精品久久久久久福利一牛影视| 欧美日韩亚洲综合一区| 国产成人综合亚洲91猫咪| 丝袜诱惑制服诱惑色一区在线观看| 久久久精品欧美丰满| 欧美人成免费网站| 91网上在线视频| 岛国一区二区在线观看| 日韩和欧美一区二区| 亚洲欧美另类久久久精品| 久久女同互慰一区二区三区| 欧美羞羞免费网站| 99久久er热在这里只有精品66| 丝袜诱惑制服诱惑色一区在线观看| 中文字幕一区二区在线播放| 538prom精品视频线放| 欧美在线啊v一区| 不卡的av中国片| 99热99精品| jizz一区二区| 99re在线精品| 99视频超级精品| 99re成人精品视频| 99久久婷婷国产综合精品| 国产91对白在线观看九色| 麻豆国产91在线播放| 日韩高清在线一区| 亚洲国产精品久久人人爱蜜臀| 国产精品久99| 成人免费一区二区三区视频 | 日韩亚洲欧美综合| 91精品国产福利| 欧美一区二区视频在线观看 | 国产精品成人免费在线| 欧美激情综合在线| 亚洲欧洲日韩综合一区二区| 国产精品欧美精品| 亚洲视频电影在线| 亚洲国产三级在线| 日韩中文字幕亚洲一区二区va在线 | 日日摸夜夜添夜夜添亚洲女人| 亚洲成人免费在线观看| 亚洲成人动漫精品| 午夜精品一区二区三区免费视频| 天天亚洲美女在线视频| 蜜臀a∨国产成人精品| 日本成人在线视频网站| 麻豆91精品视频| 成人一道本在线| 色综合av在线| 欧美疯狂做受xxxx富婆| 日韩欧美视频一区| 欧美高清一级片在线观看| 国产精品盗摄一区二区三区| 一区二区三区美女视频| 免费观看在线色综合| 在线精品视频一区二区| 欧美一区二区三区男人的天堂| 亚洲精品一区二区三区影院| 日本中文字幕不卡| 欧美性猛交一区二区三区精品| 欧美va亚洲va| 久久久久久综合| 中文字幕亚洲区| 成人黄色电影在线| 五月激情综合网| 亚洲免费在线观看视频| 亚洲va欧美va国产va天堂影院| 美女一区二区视频| 成人小视频免费在线观看| 在线观看免费亚洲| 国产欧美日韩亚州综合 | 亚洲精品一区二区三区香蕉| 国产精品女人毛片| 亚洲第一综合色| 国产原创一区二区三区| 在线观看欧美黄色| 国产性色一区二区|