运维工具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

在这里插入图片描述
搞定。

转载请注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值