我正在寻找一种从各种云实例(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/