天天看點

運維工具Open-Falcon真正實作Supervisor管理運維工具Open-Falcon真正實作Supervisor管理

運維工具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

           
運維工具Open-Falcon真正實作Supervisor管理運維工具Open-Falcon真正實作Supervisor管理

搞定。

轉載請注明出處。

繼續閱讀