同时运行 monit 和 Supervisord。可能出现什么问题吗?

同时运行 monit 和 Supervisord。可能出现什么问题吗?

两个目标:

1) 确保后台守护进程(如 webserver/rabbitmq)始终处于运行状态。如果它们崩溃,则会自动重新启动等。为此,我使用如下配置的 monit:

set httpd port PORTNUM and
    use address localhost
    allow localhost

check process WEBSERVER with pidfile /var/run/WEBSERVER.pid
    start program = "/etc/init.d/WEBSERVER start"
    stop program = "/etc/init.d/WEBSERVER stop"

2) 同时运行 'n' 个 python 进程。为了运行这些进程,使用 Supervisord,其配置如下:

[program:name]
command= somecommand
numprocs=3
process_name=%(process_num)s

问题:
1. 这种方法可能存在问题吗?或者总体来说这不是一个好主意?
2. 有没有办法避免这种情况?

据我所知,supervisord 需要所有内容在前台运行,并且 Monit 无法运行多个脚本。

这将被“dockerized”(以防万一)。

谢谢

答案1

我预计这不会有什么问题,尤其是如果主管正在管理除 monit 之外的另一个工具池(即它们不重叠)

监控主管监控确保其始终处于运行状态可能是个好主意。

正如你所说,monit 无法处理多个相同的以传统方式处理。

声明多个监视器服务和/或需要使用自定义脚本。

相关内容