supervisor入門應用

2021-10-10 06:53:38 字數 2781 閱讀 9037

supervisor是乙個類unix作業系統上的程序管理與監控工具,可以將命令列程序變成deamon程序,並監控其狀態,在異常退出時可以自動啟動程序。更為詳細的介紹參見官網

supervisor元件:我們只介紹兩個重要的元件,supervisordsupervisorctl

supervisord 主程序,它是負責管理程序的server,它根據配置我們的配置檔案通過fork/exec 的方式來建立子應用程式的子程序,管理其整個生命週期,對crash子程序進行重啟,子程序變化傳送事件通知等。

supervisorctl 客戶端命令列工具,我們通過它來管理我們自己的應用程序 stop start restart update reload 等 ,這個命令列工具通過unix socket 或者tcp來和我們的supervisord進行通訊。

# 我們通過yum安裝,先按照epel源 

yum install -y epel-release

# 安裝supervisor

yum install -y supervisor

安裝位置預設在

/usr/bin/supervisorctl
配置檔案預設在下面目錄

cd /etc/supervisord.d
[root@mypc01 ~

]# vim /etc/supervisord.conf

注意最後面有一行,表示引入副配置檔案

[include]

;分離的配置檔案,我們可以總是將我們應用的配置檔案放到單獨的目錄檔案下管理, 這樣配置清晰,下面是配置的分離配置檔案的路徑,supervisord會載入我們配置到對於檔案加 下的檔案

files =

/etc/supervisord.d/*.conf ; 匹配 /etc/supervisord.d/ 下所有以.conf 結尾的檔案

# 建立pid檔案

touch /var/run/supervisor/supervisord.pid

# 開機啟動

systemctl enable supervisord

# 啟動supervisord

systemctl start supervisord

# 檢視啟動狀態

systemctl status supervisord

# 檢視tcp埠是否在監聽中

netstat -antp |

grep 9001

# 如果看到9001 說明supervisord 已經正常工作

比如,利用supervisior啟動乙個shell指令碼.

# 建立乙個配置檔案.以conf結尾

#一般改下前兩行就ok了

[root@mypc01 ~]

# vim /etc/supervisord.d/xx.conf

配置內容為

[program:access-flume] ; 自定義乙個名稱

stderr_logfile=/var/log/supervisor/access-flume.err ;錯誤日誌檔案

stdout_logfile=/var/log/supervisor/access-flume.log ;標準輸出日誌檔案,我們通過該檔案檢視執行日誌

stdout_logfile_maxbytes=10mb ; 標準輸出日誌檔案多大滾動一次

stdout_logfile_backups=10 ; 標準輸出日誌檔案最多備份多少個

user=root ; 以什麼使用者啟動

autostart=true ; 是否在supervisord啟動時,直接就啟動應用

autorestart=true ; crash 後是否自動重啟

startsecs=10 ;應用程序啟動多少秒之後,此時狀態如果是running狀態,就認為是成功

startretries=3 ; 當程序啟動失敗後,最大嘗試啟動的次數, 如果超過指定次數,應用會被標記為fail狀態

stopasgroup=true ; 是否停止由應用本身建立的子程序,此選項接受的停止訊號是stop訊號

killasgroup=true ; 是否停止由應用本身建立的子程序,此選項接受的停止訊號是sigkill訊號

redirect_stderr=false ; 如果是true,stderr的日誌會被寫入stdout日誌檔案中

啟動

# 讀取配置檔案 

supervisorctl reread

# 更新啟動

supervisorctl update access-flume

# 檢視啟動狀態

supervisorctl status access-flume

# 如果想停止

supervisorctl stop access-flume

# 如果想再次啟動

supervisorctl start access-flume

# 注意一旦你修改了配置檔案內容,一定要先reread,然後 update 就可以了

其他程序或者指令碼類似的都可以交給supervisor來管理.

一般 配置下command和program這兩個引數就夠了

supervisor快速應用

使用python開發的程序管理工具,監聽 啟動 停止 重啟乙個或多個程序。程序被kill後悔自動重啟,保證服務可用 安裝 yum install y supervisor 生成配置檔案 echo supervisord conf home op supervisord.conf 配置檔案,相互隔離 ...

安裝使用supervisor

yum install python setuptools easy install supervisor 測試安裝是否成功 echo supervisord conf 2.建立配置檔案 建立supervisor配置檔案目錄 etc supervisor mkdir m 755 p etc supe...

supervisor使用詳解

1.什麼是supervisor supervisor是用python寫的乙個程序管理工具,用來啟動,重啟,關閉程序。2.supervisor的安裝 pip install supervisor3.supervisor的配置檔案 supervisor安裝完畢後,會有乙個配置檔案supervisord....