Отображение количества запущенных виртуальных машин Azure на панели мониторинга

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

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

resources
| where type == "microsoft.compute/virtualmachines"
| summarize count() by resourceGroup
| order by resourceGroup asc

Есть ли способ объединить эти данные с другой таблицей данных, чтобы иметь возможность фильтровать состояние питания и получать только запущенные виртуальные машины? Или, может быть, совсем другое решение, чтобы просто отображать количество запущенных виртуальных машин на панели управления?

1 ответ

Кажется, не существует таблицы, содержащей PowerState виртуальной машины в схеме графика ресурсов (по крайней мере, я не смог ее найти)

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

Вы можете получить PowerState виртуальной машины, используя следующую команду

Get-AzVM -Status

Эти выходные данные можно записать в хранилище таблиц Azure. (по этой ссылке подробно описано, как использовать PowerShell для взаимодействия с учетными записями хранения Azure [https://docs.microsoft.com/en-us/azure/storage/tables/table-storage-how-to-use-powershell]

Вы можете построить отчет Power BI поверх этой фильтрации хранилища таблиц только для PowerState == running и осветить свой отчет.

Теперь, чтобы запланировать это, вам нужно будет

а) Создайте учетную запись автоматизации. Подробную информацию о том, как создать учетную запись для автоматизации, можно найти здесь [https://docs.microsoft.com/en-us/azure/automation/automation-create-standalone-account]

б) Создайте модуль Runbook PowerShell, который получает статус виртуальной машины и вставляет строки в хранилище таблиц.

c) Создайте расписание и свяжите с ним модуль Runbook. Подробности о том, как составить расписание, можно найти здесь [https://docs.microsoft.com/en-us/azure/automation/shared-resources/schedules].

Таким образом, используя учетную запись службы автоматизации Azure и модуль Runbook (пункт b), вы можете настроить расписание и связать модуль Runbook с этим расписанием. Каждый раз, когда модуль Runbook запускается, он получает текущий статус мощности и выгружает его в хранилище таблиц Azure в соответствии с расписанием, которое будет поддерживать PowerBI в актуальном состоянии.

Надеюсь это поможет

Надеюсь , что приведенный ниже пример сработает для вас

resources
| where type == "microsoft.compute/virtualmachines"
| where properties.extended.instanceView.powerState.displayStatus=="VM running"
| summarize count() by resourceGroup
| order by resourceGroup asc

Привет,

Другие вопросы по тегам