mur*_*a52 33 linux ubuntu monit supervisord
我们有一个自定义设置,它有几个守护进程(Web应用程序+后台任务)运行.我正在寻找使用一种服务,它可以帮助我们监视这些守护进程,并在资源消耗超过一个级别时重新启动它们.
我会欣赏任何关于何时一个人比另一个更好的见解.据我所知,monit会在supervisord启动子流程时旋转一个新进程.这种方法的优点和缺点是什么?
我也将使用暴发来监控monit或supervisord本身.webapp部署将使用capistrano完成.
谢谢
cre*_*176 34
我没有使用monit但是有一些重要的缺陷与supervisord.
这意味着你不能只执行/etc/init.d/apache2 start.大多数情况下,您只需编写一个内容,例如"source/etc/apache2/envvars && exec/usr/sbin/apache2 -DFOREGROUND",但有时您需要自己的包装器脚本.包装器脚本的问题在于您最终得到两个进程,父进程和子进程.看下一个缺陷......
如果你的程序启动子进程,supervisord就不会检测到这一点.如果父进程死亡(或者如果它使用supervisorctl重新启动)子进程继续运行,但将由init进程"采用"并保持运行.这可能会阻止将来对程序的调用运行或消耗额外的资源.最近的配置选项stopasgroup和killasgroup应该解决这个问题,但对我来说不起作用.
我最近用qlproxy设置了squid.qlproxyd需要先启动,否则squid会失败.尽管这两个程序都是用supervisord管理的,但是没有办法确保这一点.我需要为squid编写一个启动脚本,使其等待qlproxyd进程.添加启动脚本导致了漏洞2中描述的孤立进程问题
有时当进程无法启动(或崩溃)时,这是因为它无法访问其他资源,可能是由于网络抖动.可以将主管设置为多次重启该过程.在重新启动之间,进程将进入"BACKOFF"状态,但是没有文档或控制退避的持续时间.
在其国防主管确实80%的时间满足我们的需求.配置合理,文档非常好.
Dar*_*rek 30
如果你想要额外监控资源,你应该接受monit.除了检查进程是否正在运行(可用性)之外,monit还可以执行一些资源使用(性能,容量使用),负载级别甚至基本安全检查(bianry文件的md5sum,配置文件等)的检查.它有一个基于规则的配置,很容易理解.还有很多可以使用的配置:http://mmonit.com/wiki/Monit/ConfigurationExamples
Monit需要进程来创建PID文件,这可能是一个缺陷,因为如果一个进程没有创建pid文件,你必须创建一些包装器.请参阅http://mmonit.com/wiki/Monit/FAQ#pidfile
另一方面,Supervisord更多地受制于一个过程,它自己产生它.它不能将任何基于资源的检查作为监控.它有一个很好的CLI servicectl和Web GUI.
| 归档时间: |
|
| 查看次数: |
19733 次 |
| 最近记录: |