运维工具Open-Falcon真正实现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
搞定。
转载请注明出处。