1

我目前正在虚拟服务器上运行一个大型 Rails 应用程序。我的设置使用 Unicorn 为 Rails 应用程序提供服务,前面有 nginx 作为代理服务器。

有时我会收到通知,说我的 CPU 使用率已经固定了很长时间。然后我登录并使用 htop 找到行为不良的进程来杀死它。那些行为不端的流程似乎总是独角兽工人。

我想知道的是,是否有一种方法可以设置监视器,或者上帝可以监视这些独角兽的“子进程”,如果它们长时间处于高 CPU 使用率,则将其杀死。我知道如何监控独角兽主进程,因为它将进程 ID 写入 PID 文件。但它永远不是主进程,只有子进程处理不当行为。

4

2 回答 2

2

您可能想尝试这里概述的过程: Unicorns go to die: Watching unicorn workers with monit

我还没有做,但我很快就会试一试。

编辑: 它工作得很好。我现在正在生产中使用那里的方法。

于 2011-05-23T15:27:06.010 回答
1

我用上帝来监视我的独角兽(听起来太酷了)。我一直在使用与此处概述的 GitHub 使用相同的配置。在第二个 Gist 中,您将看到为监控独角兽工作者而编写的自定义脚本。这有点hacky,但效果很好。我相信这样的事情会在某个时候融入上帝。但我已经有一段时间没有听到任何关于它的消息了。

于 2011-05-23T17:41:07.407 回答