Compute Discover essential FinOps best practices to optimize cost efficiency and governance for your Azure compute resources.
Azure Kubernetes Service
Query: AKS Cluster
This Azure Resource Graph (ARG) query retrieves detailed information about Azure Kubernetes Service (AKS) clusters within your Azure environment.
Category
Resource management
Query
Click to view the code
```kql resources | where type == "microsoft.containerservice/managedclusters" | extend AgentPoolProfiles = properties.agentPoolProfiles | mvexpand AgentPoolProfiles | project id, ProfileName = tostring(AgentPoolProfiles.name), Sku = tostring(sku.name), Tier = tostring(sku.tier), mode = AgentPoolProfiles.mode, AutoScaleEnabled = AgentPoolProfiles.enableAutoScaling, SpotVM = AgentPoolProfiles.scaleSetPriority, VMSize = tostring(AgentPoolProfiles.vmSize), nodeCount = tostring(AgentPoolProfiles.['count']), minCount = tostring(AgentPoolProfiles.minCount), maxCount = tostring(AgentPoolProfiles.maxCount), location, resourceGroup, subscriptionId, AKSname = name ```Virtual machines
Query: List Virtual Machines stopped (and not deallocated)
This Azure Resource Graph (ARG) query identifies Virtual Machines (VMs) in your Azure environment that are not in the ‘deallocated’ or ‘running’ state. It retrieves details about their power state, location, resource group, and subscription ID.
Category
Waste reduction
Query
Click to view the code
```kql resources | where type =~ 'microsoft.compute/virtualmachines' and tostring(properties.extended.instanceView.powerState.displayStatus) != 'VM deallocated' and tostring(properties.extended.instanceView.powerState.displayStatus) != 'VM running' | extend PowerState=tostring(properties.extended.instanceView.powerState.displayStatus) | extend VMLocation=location | extend resourceGroup=strcat('/subscriptions/',subscriptionId,'/resourceGroups/',resourceGroup) | order by id asc | project id, PowerState, VMLocation, resourceGroup, subscriptionId ```Query: Virtual machine scale set details
This query analyzes Virtual Machine Scale Sets (VMSS) in your Azure environment based on their SKU, spot VM priority, and priority mix policy. It provides insights for cost optimization and resource management strategies.
Category
Resource management
Query
Click to view the code
```kql resources | where type =~ 'microsoft.compute/virtualmachinescalesets' | extend SpotVMs=tostring(properties.virtualMachineProfile.priority) | extend SpotPriorityMix=tostring(properties.priorityMixPolicy) | extend SKU=tostring(sku.name) | extend resourceGroup=strcat('/subscriptions/', subscriptionId, '/resourceGroups/', resourceGroup) | project id, SKU, SpotVMs, SpotPriorityMix, subscriptionId, resourceGroup, location ```Query: Virtual Machine processor type analysis
This query identifies the processor type (ARM, AMD, or Intel) used by Virtual Machines (VMs) in your Azure environment. It helps in understanding the distribution of VMs across different processor architectures, which is useful for optimizing workload performance and cost efficiency.
Category
Resource management
Query
Click to view the code
```kql resources | where type == 'microsoft.compute/virtualmachines' | extend vmSize = properties.hardwareProfile.vmSize | extend processorType = case( // ARM Processors vmSize has "Epsv5" or vmSize has "Epdsv5" or vmSize has "Dpsv5" or vmSize has "Dpdsv", "ARM", // AMD Processors vmSize has "Standard_D2a" or vmSize has "Standard_D4a" or vmSize has "Standard_D8a" or vmSize has "Standard_D16a" or vmSize has "Standard_D32a" or vmSize has "Standard_D48a" or vmSize has "Standard_D64a" or vmSize has "Standard_D96a" or vmSize has "Standard_D2as" or vmSize has "Standard_D4as" or vmSize has "Standard_D8as" or vmSize has "Standard_D16as" or vmSize has "Standard_D32as" or vmSize has "Standard_D48as" or vmSize has "Standard_D64as" or vmSize has "Standard_D96as", "AMD", "Intel" ) | project vmName = name, processorType, vmSize, resourceGroup ```🙋♀️ Looking for more?
We’d love to hear about any datasets you’re looking for. Create a new issue with the details that you’d like to see either included in existing or new best practices.
🧰 Related tools
- 📒 Cost optimization workbook – Central hub for cost optimization.