2012-05-31 1 views
2

Я ищу способ удаленного сбора данных из различных облачных экземпляров (EC2, Rackpsace). API Rackspace не предоставляет возможности для сбора показателей производительности сервера (например, загрузки нагрузки, использования процессора, памяти) через его API, иначе этого никогда не спрашивали.Удаленное выполнение в Ruby (Capistrano или MCollective) для сбора показателей производительности облачных серверов

Я начал изучать такие решения, как Capistrano или Mcollective (я также рассматривал collectd), но я не уверен, какой из них лучше всего подходит для моего приложения. Я стараюсь избегать использования ключей ssh ​​для целей тренда (я не хочу, чтобы мне приходилось регистрироваться, чтобы собирать эти показатели). Сценарий, который я пишу, представляет собой скрипт Ruby, который перезагружает облачный сервер, если его средняя загрузка превышает определенный номер. Поскольку эти поставщики не раскрывают эти показатели через свой API, я ищу способ собрать их самостоятельно, и я новичок в сообществе Ruby, поэтому после брифинга по документации для всех этих инструментов я все еще не был способный понять, какая структура будет работать лучше всего, или если есть другие альтернативы.

Похоже, что Capistrano больше подходит для развертывания, хотя он может выполнять удаленные задачи, поэтому после того, как я прочитал документацию, это было в значительной степени для целей моего сценария.

MCollective выглядит очень привлекательно для того, что я пытаюсь сделать, но, похоже, мне придется написать свой собственный плагин RPC для этой цели.

Я также подумал о подключении к какой-либо большей системе мониторинга, такой как Nagios, Munin, Zenoss, Hyperic и т. Д., Но я бы предпочел не устанавливать какую-то большую систему контроля массы, когда все, что я хочу собрать, - это всего лишь несколько простых метрики.

ответ

1

Если вы намереваетесь сделать так, чтобы запускал определенные действия на основе производительности системы (например, перезагрузка при слишком высоком использовании процессора), вы должны проверить god.

Я не уверен, что это также полезно, если вы хотите сгенерировать некоторую статистику производительности в течение более длительного периода времени. Лично я использую Munin для этого, но если вам это не нравится, возможно, вы можете найти что-то на Ruby Toolbox | Server Monitoring.

+0

Hi Classz, Спасибо за ответ и указал мне в правильном направлении. Мне интересно узнать больше о Боге, я прочитал документацию, но кажется, что бог будет перезагружаться только тогда, когда использование процессора слишком велико на основе написанных вами приложений, а не для мониторинга существующих системных ресурсов, таких как средний уровень загрузки, пользователь процессор, и т. д., я прав? Кроме того, я собираюсь собрать статистику с нескольких серверов, а затем вычислить среднюю нагрузку для группы из 5 серверов, например. – DevNull0000001

+0

Амон выглядит очень многообещающе, спасибо, что указал мне на Ruby Toolbox. – DevNull0000001

Смежные вопросы