ruby - Ruby 中的远程执行(Capistrano 或 MCollective)以收集云服务器性能指标

标签 ruby monitoring capistrano rackspace-cloud

我正在寻找一种从各种云实例(EC2、Rackpsace)远程收集数据的方法。 Rackspace API 不提供通过其 API 收集服务器性能指标(即平均负载、CPU 使用率、内存)的方法,否则永远不会被询问。

我开始寻找像 Capistrano 或 Mcollective 这样的解决方案(我也考虑过 collectd),但我不确定哪一个最适合我的应用程序。我试图避免将 ssh key 用于趋势目的(我不想一直登录以收集这些指标)我正在编写的脚本是一个 Ruby 脚本,如果它的平均负载超过某个值,它会重新启动云服务器数字。因为这些提供商不通过他们的 API 公开这些指标,我正在寻找一种自己收集它们的方法,而且我是 Ruby 社区的新手,所以在简要介绍了所有这些工具的文档之后,我仍然没有能够了解哪个框架最有效,或者是否有其他替代方案。

听起来 Capistrano 更适合作为部署工具,尽管它可以执行远程任务,所以在我阅读了它的文档之后,它几乎不适合我的脚本。

MCollective 看起来对我正在尝试做的事情很有吸引力,但似乎我必须为此目的编写自己的 RPC 样式插件。

我也考虑过接入一些更强大的监控系统,例如 Nagios、Munin、Zenoss、Hyperic 等,但我宁愿不安装一些大型批量监控系统,因为我只想收集一些简单的指标.

最佳答案

如果您的意图是根据系统性能触发某些操作(例如在 CPU 使用率过高时重新启动),您应该查看 god .

我不确定当您想在较长时间段内生成一些性能统计信息时,这是否也有用。就个人而言,我为此使用 Munin,但如果你不喜欢它,也许你可以在 Ruby Toolbox | Server Monitoring 上找到一些东西。 .

关于ruby - Ruby 中的远程执行(Capistrano 或 MCollective)以收集云服务器性能指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10827601/

相关文章:

c# 如何在不使用本地代理服务器的情况下跟踪来自客户端的所有 Web 事件和 Web URL?

monitoring - 是否可以为 Cloud Foundry 应用程序使用 logmet 服务?

ruby-on-rails - Capistrano 安全最佳实践

capistrano - 如何在 Capistrano 3 中获取新的发布路径?

ruby-on-rails - 如何在哈希中获取最小键值对

ruby - 是否有可能在 Ruby 中每个 block 一行?

google-cloud-platform - 使用 Statuspage 监控 Google Cloud Platform

ruby-on-rails - (Net::SSH::AuthenticationFailed: root) 将带有橡胶的 Rails 应用程序部署到 EC2 时

ruby - 在运行时递归 glob 用于 RSpec 测试文件

ruby-on-rails - 在 Rails 3 路由中重命名路径助手