運維工具Open-Falcon真正實作Supervisor管理
- 運維工具Open-Falcon真正實作Supervisor管理
-
- 建立supervisor配置檔案S10Falcon
- 編輯你的supervisord.conf檔案
- 重新開機supervisor
運維工具Open-Falcon真正實作Supervisor管理
open-falcon的judge和alarm子產品需要基于MySQL服務,如果想要開機自啟,可以通過加入systemctl管理,啟動優先級置于mysql之後,但是服務異常終止後不能自啟動,網上的一些文章治标不治本,無法實作真正的自啟管理。
supervisor 是用Python開發的一個client/server服務,是Linux/Unix系統下的一個程序管理工具,不支援Windows系統。它可以很友善的監聽、啟動、停止、重新開機一個或多個程序。用Supervisor管理的程序,當一個程序意外被殺死,supervisort監聽到程序死後,會自動将它重新拉起,很友善的做到程序自動恢複的功能,不再需要自己寫shell腳本來控制。
建立supervisor配置檔案S10Falcon
[group:openfalcon]
[program:f-agent]
command=/opt/work/open-falcon/agent/bin/falcon-agent -c /opt/work/open-falcon/agent/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
[program:f-graph]
command=/opt/work/open-falcon/graph/bin/falcon-graph -c /opt/work/open-falcon/graph/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-hbs]
command=/opt/work/open-falcon/hbs/bin/falcon-hbs -c /opt/work/open-falcon/hbs/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-judge]
command=/opt/work/open-falcon/judge/bin/falcon-judge -c /opt/work/open-falcon/judge/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-alarm]
command=/opt/work/open-falcon/alarm/bin/falcon-alarm -c /opt/work/open-falcon/alarm/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-gateway]
command=/opt/work/open-falcon/gateway/bin/falcon-gateway -c /opt/work/open-falcon/gateway/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-transfer]
command=/opt/work/open-falcon/transfer/bin/falcon-transfer -c /opt/work/open-falcon/transfer/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-aggregator]
command=/opt/work/open-falcon/aggregator/bin/falcon-aggregator -c /opt/work/open-falcon/aggregator/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-api]
command=/opt/work/open-falcon/api/bin/falcon-api -c /opt/work/open-falcon/api/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
[program:f-nodata]
command=/opt/work/open-falcon/nodata/bin/falcon-nodata -c /opt/work/open-falcon/nodata/config/cfg.json
directory=/opt/work/open-falcon/ ;指令執行的目錄
user=root ; 程序執行的使用者身份
autostart=true ;在supervisord啟動時運作該程式
autorestart=true ;程式異常退出後自動重新開機
stopasgroup=true
priority=20
redirect_stderr=true
stdout_logfile=/var/situation/%(program_name)s.std
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=1
編輯你的supervisord.conf檔案
在supervisor配置檔案[include]section添加S10Falcon的路徑,例如
[include]
files = /opt/supervisor/S*
重新開機supervisor
supervisorctl reload
搞定。
轉載請注明出處。