我在Fedora Linux服务器上部署了一个应用程序。 这个应用程序是一个Ruby on Rails的Web应用程序,使用MySQL和MongoDB作为数据库。 应用程序还使用“延迟作业”gem进行asynchronous处理。 我使用NGinx作为Web服务器。 我也使用乘客。
所以,我至less有5个过程,我必须担心:
不幸的是,所有这个过程将运行在同一个虚拟机:(
对我来说,监视是非常重要的:
我想要一个可以给我监控数据的工具,为CPU和内存数据创build基于时间的graphics。 我也希望能够通过networking访问所有这些进程的日志文件。
我的公司没有购买昂贵工具的许可证的预算,所以我真的会优先select开源工具。
你们推荐哪个工具,哪个或哪些工具?
问候,
Rubem
如果您的网站是公开的,我build议您使用优秀的New Relic RPM for Rails监控:
Nagios是系统监视的标准build议。 它是开源的,免费的。 我们也使用它。
这是一个公共networking应用程序? 如果是这样,我build议添加一些第三方监测。 我们使用AlertFox Pro (付费),但他们也有一个免费的包。 免费的监控计划有点隐蔽,但function非常强大;)
Nagios会给你提醒你的进程状态。
仙人掌将图表你想监视你的过程。
Nagios插件是数据库池的绝佳解决scheme。 大多数数据库都有可靠的插件。 插件也是一个很好的解决scheme,通过合成事务的URL来监视你的系统。
为了获得你描述的stream程细节,你将会得到几个不同的系统。 您可能会很好地查看完全独立于语言或应用程序组件types的解决scheme。 这很难做到,但请查看AppFirst。 他们看到一切都做得很好。 您也可以将所有的Nagios插件数据放入其数据stream中。
如果你需要Ruby进程的代码级别的详细信息,你应该看看New Relic。 请注意这是针对开发者的。 这是一个很好的解决scheme。 但这取决于你在找什么。