supervisord監控服務必備命令


supervisord(http://supervisord.org/introduction.html)是一個非常優秀的進程管理工具,使用Python開發。它可以在類UNIX系統的方式讓用戶來准確地監視和控制后台一定數量的服務進程。並作為一個天使進程讓后台進程在當發生內部錯誤退出、或者進程被意外殺死時自動重啟。除此之外,supervisord可以監控TCP端口,讓其他主機通過客戶端了命令supervisorctl通過HTTP協議直接對Server端進程進行啟停,避免讓進程/服務器管理者直接接觸Shell或root用戶。進程之間也有一個優先級和進程組關系,讓管理員使用start all和stop all的關系來啟動。

下面就讓我們來介紹下supervisord監控服務必備命令:

supervisord : supervisor的服務器端部分,用於supervisor啟動
supervisorctl:啟動supervisor的命令行窗口,在該命令行中可執行start、stop、status、

1.手動啟動:

supervisord -c /etc/supervisor/supervisord.conf 

2.查看已啟動服務

pstree -p | grep supervisord 

3.查看log日志

cat  /tmp/supervisord.log

4.用 supervisorctl 查看已經被監控的program

(注:直接用 #supervisorctl 會提示:http://localhost:9001 refused connection)

supervisorctl -c /etc/supervisor/supervisord.conf

5.執行supervisorctl  reload的命令可以重啟監控服務

supervisorctl reload  

6.supervisorctl status命令查看運行狀態

supervisorctl status

7. supervisord,初始啟動Supervisord,啟動、管理配置中設置的進程。

supervisorctl stop programxxx,停止某一個進程(programxxx),programxxx為[program:mhqdemo]里配置的值,這個示例就是mhqdemo。

supervisorctl start programxxx,啟動某個進程
supervisorctl restart programxxx,重啟某個進程
supervisorctl stop all,停止全部進程,注:start、restart、stop都不會載入最新的配置文件。
supervisorctl reload,載入最新的配置文件,並按新的配置啟動、管理所有進程。

以下參考文章 :supervisor常用命令

查看任務狀態
# supervisorctl status
SmartCoin                        RUNNING   pid 13203, uptime 0:04:05
coin                             RUNNING   pid 30744, uptime 17 days, 20:45:18
deepwellserver                   RUNNING   pid 30257, uptime 30 days, 4:13:01
jingtumassetapi                  RUNNING   pid 14536, uptime 45 days, 19:18:08
moac                             RUNNING   pid 20015, uptime 15 days, 5:15:11
new                              RUNNING   pid 10041, uptime 43 days, 22:41:56
nginx                            RUNNING   pid 18752, uptime 22:59:40
redis                            RUNNING   pid 14542, uptime 45 days, 19:18:08
sonyflakeserver                  FATAL     can't find command 'go'
sparkportal                      RUNNING   pid 26073, uptime 1 day, 23:11:17
sparkportal2                     RUNNING   pid 25732, uptime 1 day, 23:11:21
sparkportal3                     RUNNING   pid 25834, uptime 1 day, 23:11:20
sparkportal4                     RUNNING   pid 25974, uptime 1 day, 23:11:18
sparkuser                        RUNNING   pid 26957, uptime 9 days, 23:07:21
sparkwallet                      RUNNING   pid 29045, uptime 5 days, 15:11:58
summaryservice                   RUNNING   pid 14535, uptime 45 days, 19:18:08

第一列是服務名;第二列是運行狀態,RUNNING表示運行中,FATAL 表示運行失敗,STARTING表示正在啟動,STOPED表示任務已停止; 第三/四列是進程號,最后是任務已經運行的時間。

查看單個任務狀態: supervisorctl status 服務名

# supervisorctl status sparkportal
sparkportal                      RUNNING   pid 26073, uptime 1 day, 23:12:10

啟動/停止/重啟任務

1.啟動任務

supervisorctl start 服務名

# supervisorctl stop sparkportal
sparkportal: stopped
#supervisorctl status sparkportal
sparkportal                      STOPPED   Jan 05 01:59 PM

2.停止任務

supervisorctl stop 服務名

# supervisorctl start sparkportal
sparkportal: started
# supervisorctl status sparkportal
sparkportal                      RUNNING   pid 32207, uptime 0:00:05

3.重啟任務

supervisorctl restart 服務名

# supervisorctl restart sparkportal
sparkportal: stopped
sparkportal: started
# supervisorctl status sparkportal
sparkportal                      RUNNING   pid 4952, uptime 0:00:03

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM