Ruby中的远程执行(Capistrano或MCollective),用于收集云服务器性能指标

时间:2012-05-31 04:49:46

标签: ruby monitoring capistrano rackspace-cloud

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

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

听起来Capistrano更适合作为部署工具,虽然它可以执行远程任务,所以在我阅读文档后,它几乎是出于我的脚本的目的。

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

我还考虑过插入一些更大的监控系统,如Nagios,Munin,Zenoss,Hyperic等,但是当我想要收集的只是一些简单的指标时,我宁愿不安装一些大型批量监控系统。

1 个答案:

答案 0 :(得分:1)

如果您的目的是根据系统性能触发某些操作(比如在cpu使用率太高时重新启动),则应该查看god

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