Удаленное выполнение в Ruby (Capistrano или MCollective) для сбора показателей производительности облачного сервера.

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

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

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

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

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


person DevNull0000001    schedule 31.05.2012    source источник


Ответы (1)


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

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

person claasz    schedule 31.05.2012
comment
Привет Classz, Спасибо за ответ и указание мне в правильном направлении. Мне интересно узнать больше о Боге, я прочитал документацию, но кажется, что Бог будет перезапускаться только тогда, когда загрузка процессора слишком высока на основе приложений, которые вы написали, вместо того, чтобы отслеживать существующие системные ресурсы, такие как средняя загрузка, пользовательский процессор. д., я прав? Кроме того, я хочу собрать статистику с нескольких серверов, а затем вычислить среднюю нагрузку, например, для группы из 5 серверов. - person DevNull0000001; 31.05.2012
comment
Амон выглядит очень многообещающе, спасибо, что указали мне на Ruby Toolbox. - person DevNull0000001; 31.05.2012