Я ищу решение для мониторинга бедняги. У меня есть среда Hyper-V 2008 R2, где колебания мощности в непиковые часы довольно распространены. Батарея сохраняет коробку в течение изрядного количества времени. Я работаю над решением, позволяющим переносить команды выключения батареи в коробку для лучшего решения, но я хотел бы получить простое решение для мониторинга для мониторинга состояния виртуальных машин.
По сути, примерно так:
Я не совсем уверен, как лучше всего выполнить проверку виртуальных машин. Выпущу ли я сценарий CLI или PS с кодом возврата, по которому планировщик задач может затем принять решение, или использовать какой-либо другой метод?
Я хочу использовать встроенные инструменты Windows, поскольку это похоже на то, что должно быть выполнено. Если не все в порядке, альтернативы тоже хороши. И да, мне нужен бесплатный способ сделать это. Не хочу тратить здесь деньги или использовать какой-нибудь гигантский инструмент, такой как Nagios, для этой, казалось бы, небольшой проблемы.
Если я сумасшедший, это тоже хорошо!
Похоже, что в предыдущей версии Windows Server (до 2012 г.) модуль PowerShell не был включен для управления Hyper-V. Вы можете использовать некоторые другие модули, такие как отказоустойчивую кластеризацию и т. Д., Но вы должны использовать сценарии WMI для внесения изменений в гипервизор.
В 2012 году эта проблема проста:
PS C:\> Get-VM –ComputerName Server1 | Where-Object {$_.State –eq 'Running'}
Однако похоже, что есть библиотека с открытым исходным кодом это абстрагирует сценарий WMI и оставляет все в PowerShell. Я взгляну на этот модуль сегодня вечером и посмотрю, смогу ли я заставить его делать то, что я хочу.
Спасибо, Боб, что хотя бы указал мне в правильном направлении.
Я бы сделал все внутри Powershell. Некоторое время назад я написал сценарий, чтобы сделать балансировку нагрузки для какого-то бедняги. Он вызвал некоторый код CLI, чтобы вернуть состояние виртуальной машины, и действовал соответственно.
Вы сделаете то же самое: пусть Powershell вызовет оператор CLI (используя getstate), чтобы получить состояние различных гостевых виртуальных машин. Если какой-либо из них не работает, отправьте электронное письмо по SMTP или используйте CLI для запуска виртуальной машины или что-то еще.
Запустите Powershell по запланированной задаче с любым выбранным интервалом. Должен работать как шарм.