Microsoft Azure — поиск потерянных дисков

Опубликовано: 7 Сентября, 2022

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

Реализация:

Выполните следующие действия, чтобы найти потерянные диски в Azure.

Шаг 1. Войдите на портал Azure.

Шаг 2. Перейдите в Azure Resource Graph Explorer >> выберите Resource Graph Explorer .

Шаг 3: Выберите « Область» >> «Подписка» >> «Выберите свои подписки» (вы можете выбрать одну или несколько подписок по вашему выбору одновременно)

Например: здесь я выбрал 8 подписок из Scope.

Шаг 4: Вставьте приведенный ниже запрос в поле запроса и нажмите « Выполнить запрос» , чтобы получить список/отчет о неприсоединенных дисках.

Пример:

Resources
| where type has "microsoft.compute/disks"
| extend diskState = tostring(properties.diskState)
| where  diskState == "Unattached" or managedBy == ""
| project name, diskState, managedBy, subscriptionId, resourceGroup, location

Выход:

Пример 1. Если вы выбрали несколько подписок в области действия, вы получите много результатов >> В этом случае вы можете добавить, где у идентификатора подписки есть «_SubscriptionId_Value» , чтобы получить результаты в конкретной выбранной подписке.

Resources
| where type has "microsoft.compute/disks"
| extend diskState = tostring(properties.diskState)
| where  diskState == "Unattached" or managedBy == ""
| where subscriptionId has ""  
| project name, diskState, managedBy, subscriptionId, resourceGroup, location

Выход:

Пример 2: Если вы хотите получить результаты помеченных значений для потерянных дисков, вы можете использовать следующую команду kql .

Resources
| where type has "microsoft.compute/disks"
| extend diskState = tostring(properties.diskState)
| where  diskState == "Unattached" or managedBy == ""
| where subscriptionId == "" 
| where tags.Environment == "Production" // "Dev", "Prod", "Test",...etc.
| project name, diskState, managedBy, subscriptionId, resourceGroup, location, tags

Выход:

Вот и все.