Мне было поручено написать сценарий, который будет запускаться на сервере каждые несколько часов, чтобы регистрировать использование процессора, памяти и использования диска. Этот сценарий будет запускаться в окнах и Linux. Для этой задачи я выбрал рубин. Я новичок в написании сценариев. Я погуглил безуспешно. Помоги мне?
Прежде всего, если вы занимаетесь системным администрированием с помощью ruby, вам следует прочитать Практичный рубин для системного администрирования.
Тогда я думаю, что у вас есть как минимум два варианта:
Если бы вы использовали первый вариант, вам следует создать класс сбора данных и класс отправки данных. Первый должен зависеть от операционной системы, но с теми же методами. В этом случае вы можете использовать system
запускать системные команды и получать желаемые данные. В противном случае вы можете использовать порыв чтобы получить больше предварительных данных.
Для второго варианта вы можете использовать SNMP от центрального расположения. Конечно, это означает активацию SNMP на ваших серверах (безопасно !!).
Если почитать немного подробнее, кажется, что есть некоторая поддержка Windows в спешке. И есть демон rushd, который можно использовать для удаленного доступа к машине и выполнения локальных команд.
servers = %w(www1 www2 www3).map { |n| Rush::Box.new(n) }
servers.each do |s|
s.bash 'df -h'
end