Wasted Resources in Azure Subscriptions Test
An Azure subscription is the basic unit where all resources are contained. It also defines several limits within Azure, such as number of cores, resources, etc.
In order to help administrators to keep track of the resources allocated to the target subscription and the resources that remain inactive and are not available for use, the eG Enterprise provides you with the Azure Subscriptions test.
This test helps administrators to figure out the state of the monitored subscription and the total number of resources allocated to that subscription, the number of geographic locations allocated to each subscription, etc. Using this test, administrators can figure out the number of inactive resources on a target subscription. This way, resources that are seldom used can be identified.
Target of the Test: A Microsoft Azure Subscription
Agent deploying the test: A remote agent
Output of the test: One set of results for the Microsoft Azure Subscription being monitored
| Parameters | Description |
|---|---|
|
Test Period |
How often should the test be executed. |
|
Host |
The host for which the test is to be configured. |
|
Subscription ID |
This field will be automatically populated if you have chosen to automatically fulfill the pre-requisites for monitoring the Microsoft Azure Subscription. Specify the GUID which uniquely identifies the Microsoft Azure Subscription to be monitored in this text box
|
|
Tenant ID |
This field will be automatically populated if you have chosen to automatically fulfill the pre-requisites for monitoring the Microsoft Azure Subscription. Specify the Directory ID of the Azure Entra ID tenant to which the target subscription belongs in this text box |
|
Client ID, Client Password, and Confirm Password |
To connect to the target subscription, the eG agent requires an Access token in the form of an Application ID and the client secret value. For this purpose, you should register a new application with the Microsoft Entra tenant. To know how to create such an application and determine its Application ID and client secret, refer to Configuring the eG Agent to Monitor a Microsoft Azure Subscription Using Azure ARM REST API. Specify the Application ID of the created Application in the Client ID text box and the client secret value in the Client Password text box |
|
Proxy Host and Proxy Port |
In some environments, all communication with the Azure cloud be routed through a proxy server. In such environments, you should make sure that the eG agent connects to the cloud via the proxy server and collects metrics. To enable metrics collection via a proxy, specify the IP address of the proxy server and the port at which the server listens against the Proxy Host and Proxy Port parameters. By default, these parameters are set to none, indicating that the eG agent is not configured to communicate via a proxy, by default. |
|
Proxy Username, Proxy Password and Confirm Password |
If the proxy server requires authentication, then, specify a valid proxy user name and password in the Proxy Username and Proxy Password parameters, respectively. Then, confirm the password by retyping it in the Confirm Password text box. |
|
VM Snapthot Age in Days |
By default, this parameter is set to 365 days by default. This means that, by default, this test will consider any snapshot that was created over 1 year ago as an 'old snapshot'. The count of such snapshots will be reported as the value of the Old VM snapshots measure. You can change the value of this measure, if you want to increase or decrease the age at which a snapshot becomes 'old' or 'obsolete', so it can be removed to conserve space. |
|
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
| Measurement | Description | Measurement Unit | Interpretation | ||||||
|---|---|---|---|---|---|---|---|---|---|
|
Status |
Indicates the current state of the subscription. |
|
The values reported by this measure and its numeric equivalents are mentioned in the table below:
Note: By default, this measure reports the Measure Values listed in the table above to indicate the current state of this subscription. In the graph of this measure however, the same is represented using the numeric equivalents only - 0 or 1. With the help of the detailed diagnosis of this measure, you can determine the display name and Quota ID of the monitored subscription. |
||||||
|
Total GEO locations |
Indicates the number of geographic locations allocated to the subscription. |
Number |
The detailed diagnosis of this measure lists the name of the geographic locations that are allocated to each subscription. |
||||||
|
Total resources |
Indicates the total number of resources that can be allocated to the subscription. |
Number |
|
||||||
|
Active resources
|
Indicates the number of resources that are currently active on the subscription. |
Number |
The detailed diagnosis of this measure lists the name of the resource provider and the name of the resources provided through each resource provider that are active for each subscription. |
||||||
|
Inactive resources |
Indicates the number of resources that are currently inactive on the subscription. |
Number |
The detailed diagnosis of this measure lists the name of the resource provider and the name of the resources provided through each resource provider that are inactive for each subscription. |
||||||
|
Other resources |
Indicates the number of resources that are currently in other states on the subscription. |
Number |
Use the detailed diagnosis of this measure to know which resources of the target subscription are in states other than Enabled or Unknown. |
||||||
|
Active resource groups |
Indicates the number of resource groups that are currently active on the subscription. |
Number |
Use the detailed diagnosis of this measure to know which resource groups of the target subscription are currently active. |
||||||
|
Unused disks |
Indicates the number of disks that are currently not used by the subscription. |
Number |
One of the major reasons your Azure storage costs may be higher than you expect is the presence of unused virtual hard disks (VHDs) in your Azure subscription. A key Azure cost management best practice is to find and delete all of these unused resources.\ Unused disks can accumulate after migration projects, diagnostic drives of VMs, or backups, but most unused disks are orphaned disks. When VMs are deleted, the disks are not deleted automatically, which leaves behind what are known as orphaned disks. These orphaned disks take up space and incur charges that most Azure users don’t even know they’re paying. To identify unused disks, use the detailed diagnosis of this measure. |
||||||
|
Unused network interfaces |
Indicates the number of unused network interfaces. |
Number |
A network interface enables an Azure Virtual Machine to communicate with internet, Azure, and on-premises resources. It is important to identify and delete unused network interfaces, as it helps save cloud costs. Usually, it is the orphaned NICs that stay unused for a long time. When you delete a VM in Azure, the NIC attached to the VMs will only be disassociated but it will not be deleted automatically and they will be left as Orphaned NICs. To identify such NICs, use the detailed diagnosis of this measure. |
||||||
|
Unused unavailability sets |
Indicates the number of availability sets that are unused. |
Number |
An availability set is a logical grouping of VMs that allows Azure to understand how your application is built to provide for redundancy and availability. Like other Azure resources, unused availability sets also add to your cloud usage costs. To save costs, its best to identify unused availability sets and delete them. The detailed diagnosis of this test sheds light on the unused availability sets, and for how long they have not been used. If any availability set has been unused for a considerably long time, you may want to consider deleting that set. |
||||||
|
Unused public Ips |
Indicates the number of public IPs that the subscription is not using currently. |
Number |
Use the detailed diagnosis of this test to identify Public IPs that the subscription is not using, understand how long they have remained unused, and decide whether/not such IPs can be removed. Unused resources like public IPs often add to costs, and hece should be deleted. |
||||||
|
Unused network security groups |
Indicates the number of network security groups that the subscription is not using currently. |
Number |
You can use an Azure network security group to filter network traffic to and from Azure resources in an Azure virtual network. A network security group contains security rules that allow or deny inbound network traffic to, or outbound network traffic from, several types of Azure resources. For each rule, you can specify source and destination, port, and protocol. Typically, empty groups with no rules and groups that are not associated with any subnets or network interfaces will not be used to filter network traffic. It is best if such unused groups are identified and deleted, as they will be unnecessarily adding to your cloud costs. To quickly identify the unused network security groups and understand how long they have been unused, use the detailed diagnosis of this measure. |
||||||
|
Unused resource groups |
Indicates the number of resource groups not used by the subscription presently. |
Number |
A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. Unused resource groups impact Azure costs. To reduce this cost impact, it is recommended that you identify the unused groups and remove them. Use the detailed diagnosis of this measure for this purpose. With the help of detailed metrics, you can isolate the unused groups and the duration for which they have been idle. Based on this information, you can decide whether/not the resource group needs to be removed. |
||||||
|
Unused route tables |
Indicates the number of unused route tables. |
Number |
Azure automatically routes traffic between Azure subnets, virtual networks, and on-premises networks. If you want to change any of Azure's default routing, you do so by creating a route table. One of the common reasons for a route table being unused is that it may not be associated with any subnet. Regardless of the reason for the poor usage, it is good practice to identify unused route tables and remove them, as such route tables needlessly escalate Azure costs. The detailed diagnosis of this measure leads you to unused route tables and how long they have not been used. This will help you figure out whether/not these route tables should be removed. |
||||||
|
Unused load balancers |
Indicates the number of load balancers that this subscription is not using currently. |
Number |
The detailed diagnosis of this measure leads you to the unused load balancers, reveals for how long they were idle, and thus, helps you determine whether/not they should be deleted to save Azure costs. |
||||||
|
Unused app service plans |
Indicates the current number of App Service Plans that are unused. |
Number |
An Azure App Service plan provides the resources that an App Service app needs to run. App Service plans that have no apps associated with them still incur charges because they continue to reserve the configured VM instances. Likewise, an App Service Plan will continue to be billed, even if the app associated with that plan is not run, or does not use the resources in the plan. To minimize Azure costs therefore, use the detailed diagnosis of this measure to identify such unused plans, learn how long they have been unused, and then decide whether/not you want to delete them. |
||||||
|
Virtual networks without subnets |
Indicates the number of virtual networks that do not have subnets. |
Number |
Subnets enable you to segment the virtual network into one or more sub-networks and allocate a portion of the virtual network's address space to each subnet. You can then deploy Azure resources in a specific subnet. Just like in a traditional network, subnets allow you to segment your VNet address space into segments that are appropriate for the organization's internal network. This also improves address allocation efficiency. Use the detailed diagnosis of this measure to identify those virtual networks that are not segmented using subnets, and determine how well such virtual networks have been utilized for communication. If the detailed metrics reveal virtual networks that have been idle for too long, you can attribute the poor usage to the absence of subnets. |
||||||
|
Traffic manager profiles without endpoints |
Indicates the number of traffic manager profiles that are not configured with endpoints. |
Number |
Microsoft Azure Traffic Manager allows you to control how network traffic is distributed to application deployments running in different datacenters. You configure each application deployment as an 'endpoint' in Traffic Manager. When Traffic Manager receives a DNS request, it chooses an available endpoint to return in the DNS response. Traffic manager bases the choice on the current endpoint status and the traffic-routing method configured in the Traffic Manager Profile. For the Azure Traffic Manager to work efficiently, you need to add one/more endpoints to a Traffic Manager Profile. Profiles without endpoints serve no purpose other than adding to your Azure costs. To minimize costs therefore, you need to identify those profiles that are not tied to any endpoints. The detailed diagnosis of this measure points you to such profiles and also reveals the duration for which such profiles were unused. Based on these detailed metrics, you can choose either to add endpoints to a profile and promote its usage, or to simply delete the profile and optimize costs. |
||||||
|
Disabled traffic manager profiles |
Indicates the number of traffic manager profiles that are currently disabled. |
Number |
Use the detailed diagnosis of this measure to identify those profiles that are disabled. |
||||||
|
Old VM snapshots |
Indicates the number of VM snapshots that are of or above the age configured against the VM Snapshot Age in Days parameter. |
Number |
Use the detailed diagnosis to know which are the old snapshots and how much storage space they occupy. You may want to consider deleting those old snapshots that are hogging storage space. |
||||||
|
Unused batch accounts |
Indicates the number of batch accounts that the subscription is not using currently. |
Number |
An Azure Batch account is a uniquely identified entity within the Batch service. All processing and resources are associated with a Batch account. When your application makes a request against the Batch service, it authenticates the request using the Azure Batch account name, the URL of the account, and either an access key or an Azure Active Directory token. You can run multiple Batch workloads in a single Batch account. You can also distribute your workloads among Batch accounts that are in the same subscription but located in different Azure regions. Use the detailed diagnosis to identify those batch accounts that are currently not in use. You may want to reconsider deleting the batch accounts that are no longer in use. |
||||||
|
Unused notification hub namespaces |
Indicates the number of namespaces in the Notification Hubs of the subscription that are currently not in use. |
Number |
Azure Notification Hubs has two resource levels: hubs and namespaces. A hub is a single push resource that can hold the cross-platform push information of one app. A namespace is a collection of hubs in one region. Use the detailed diagnosis of this measure to identify the namespaces that are not in use in the subscription. |
||||||
|
Unconnected virtual network gateways connections |
Indicates the number of virtual network gateway connections that are not connected to. |
Number |
Use the detailed diagnosis of this measure identify those virtual network gateway connections that are not connected to. |
||||||
|
Disabled service bus queues |
Indicates the number of service bus queues that are currently disabled. |
Number |
Azure Service Bus supports reliable message queuing and durable publish/subscribe messaging. The messaging entities that form the core of the messaging capabilities in Service Bus are queues, topics and subscriptions. Use the detailed diagnosis to identify the service bus queues that are disabled in the Azure subscription. |
||||||
|
Unused storage accounts |
Indicates the number of storage accounts in the subscription that are currently unused. |
Number |
An Azure storage account contains all of your Azure Storage data objects, including blobs, file shares, queues, tables, and disks. The storage account provides a unique namespace for your Azure Storage data that's accessible from anywhere in the world over HTTP or HTTPS. Data in your storage account is durable and highly available, secure, and massively scalable. Use the detailed diagnosis to identify those storage accounts that are unused and the number of days since it was last used. |
||||||
|
Expired webhooks |
Indicates the number of webhooks of the subscription that had expired. |
Number |
A webhook allows an external service to start a particular runbook in Azure Automation through a single HTTP request. Use the detailed diagnosis of this measure to identify those webhooks that had expired and the number of days since expiry. |
||||||
|
Unused function apps |
Indicates the number of function apps in the subscription that are currently unused. |
Number |
A function app lets you group functions as a logical unit for easier management, deployment, scaling, and sharing of resources. Use the detailed diagnosis of this measure to identify those function apps that are unused and the number of days since the function apps were last used. Using this information administrators can consider deleting those function apps. |
||||||
|
Disabled logic apps |
Indicates the number of Logic Apps that are currently disabled. |
Number |
Logic App is an Azure workflow or orchestration tool that moves data along a path or starts processes with the use of connectors. Logic Apps enables serverless applications to automate and orchestrate business processes and workflows. Use the detailed diagnosis to identify the Logic Apps that are disabled and the number of days since the Logic Apps were disabled. |
||||||
|
Unused front door WAF policy |
Indicates the number of WAF policies created on front door that are currently unused. |
Number |
Azure Web Application Firewall (WAF) on Azure Front Door provides centralized protection for your web applications. WAF defends your web services against common exploits and vulnerabilities. It keeps your service highly available for your users and helps you meet compliance requirements. WAF on Front Door is a global and centralized solution. It's deployed on Azure network edge locations around the globe. WAF enabled web applications inspect every incoming request delivered by Front Door at the network edge. You can configure a WAF policy and associate that policy to one or more Front Door front-ends for protection. A WAF policy consists of two types of security rules:
Use the detailed diagnosis to identify those WAF policies that are not used. |
||||||
|
Unused web API connections |
Indicates the number of web API connections that are currently unused. |
Number |
Use the detailed diagnosis of this measure to identify those web API connections that are unused. |
||||||
|
Orphaned roles |
Indicates the number of orphaned roles associated in the given subscription. |
Number |
Orphaned roles typically refer to roles that are assigned to a user or service principal but have no corresponding resource group or subscription. This situation can occur due to various reasons such as resource deletion, subscription removal, or user account deletion. |
||||||
|
Role assignments with disabled users |
Indicates the number of role assignments with disabled users in the given subscription. |
Number |
Role assignments with disabled users refer to situations where a user account that has been granted a role within an Azure subscription, resource group, or resource is subsequently disabled. This could happen due to various reasons such as employee departure, account suspension, or security measures. |
||||||
|
Total wasted resources |
Indicates the number of under utilized resources in the given subscription. |
Number |
When an Azure subscription has a high amount of wasted resources (i.e., idle, unused, or overprovisioned services), the impact can be significant across cost, performance, governance, and security. |
||||||
|
Total wasted resources cost |
Indicates the cost of under utilized resources in the given subscription. |
USD |
The total cost of wasted resources should be ideally 0. |
||||||
|
Expired web certificates |
Indicates the number of web certificates that reaches expiration date. |
Number |
An expired web certificate in an Azure subscription is an SSL/TLS certificate associated with a resource (such as an App Service, Application Gateway, Key Vault, etc.) that has passed its expiration date, making it invalid for securing HTTPS connections. Use the detailed diagnosis of this measure to identify the name of the expired certificate, the resource group to which the certificate belongs to, location, expired date of the certificate, number of expired days, and the tags to which the certificate belong to. |
||||||
|
Disconnected private endpoints |
Indicates the number of private endpoints that are disconnected. |
Number |
A Private Endpoint is a network interface that securely connects you to an Azure service (like a storage account, SQL DB, etc.) over a private IP within your Virtual Network (VNet). A disconnected private endpoint in Azure refers to a Private Endpoint that is not successfully connected to its target resource, often due to missing approval, resource deletion, or configuration errors. Use the detailed diagnosis of this measure to identify the name of the private endpoint, the resource group to which the private endpoint belongs to, location, and the tags to which the private endpoint belong to. |
||||||
|
Unused subnets |
Indicates the number of subnets that are unused. |
Number |
An unused subnet in Azure is a subnet within a Virtual Network (VNet) that has no active resources deployed in it and is not currently being used for any network functions like routing, delegation, or service integration. Use the detailed diagnosis of this measure to identify the name of the subnet, the resource group to which the subnet belongs to, location, and the tags to which the subnet belong to. |
||||||
|
Unused application gateways |
Indicates the number of application gateways that are unused. |
Number |
An unused Application Gateway in Azure refers to an Application Gateway resource that is deployed but not actively serving traffic, has no backend targets, or is not associated with any listeners or routing rules. Use the detailed diagnosis of this measure to identify the name of the application gateway, the resource group to which the application gateway belong to, location, and the tags to which the application gateway belong to. |
||||||
|
Unused virtual network gateways |
Indicates the number of virtual network gateways that are unused. |
Number |
An unused Virtual Network Gateway in Azure is a provisioned gateway (VPN) that is not currently connected to any remote network, not handling any traffic, or not associated with any connections, but is still incurring charges. Use the detailed diagnosis of this measure to identify the name of the virtual network gateway, the resource group to which the virtual network gateway belong to, location, and the tags to which the virtual network gateway belong to. |
||||||
|
SQL elastic pools without databases |
Indicates the number of SQL elastic pools without databases. |
Number |
If a SQL Elastic Pool in Azure has no databases assigned to it, the pool still exists and continues to incur charges based on its configured compute and storage size even though it's not being used. |
With the help of the detailed diagnosis of the Status measure, you can determine the display name and Quota ID of the monitored subscription.
Figure 3 : The detailed diagnosis of the Status measure reported by the Azure Subscriptions test
The detailed diagnosis of the Total GEO locations measure lists the name of the geographic locations that are allocated to each subscription.
Figure 4 : The detailed diagnosis of the Total GEO locations measure
The detailed diagnosis of the Active resources measure lists the name of the resource provider and the name of the resources provided through each resource provider that are active for each subscription.
Figure 5 : The detailed diagnosis of the Active resources measure
The detailed diagnosis of the Inactive resources measure lists the name of the resource provider and the name of the resources provided through each resource provider that are inactive for each subscription.
Figure 6 : The detailed diagnosis of the Inactive resources measure
Use the detailed diagnosis of the Other resources measure to know which resources of the target subscription are in states other than Enabled or Unknown.
Figure 7 : The detailed diagnosis of the Other resources measure
Use the detailed diagnosis of the Active resource groups measure to know which resource groups of the target subscription are currently active.
Figure 8 : The detailed diagnosis of the Active resource groups measure
The detailed diagnosis of the Orphaned roles measure lists the Orphaned Role name, Last updated time and Number of unused days for the given subscription.
Figure 9 : The detailed diagnosis of the Orphaned roles measure
The detailed diagnosis of the Role assignments with disabled users measure lists the Role Assignment name, Disabled users, Last updated time and Number of unused days for the disabled users in the given subscription.
Figure 10 : The detailed diagnosis of the Role assignments with disabled users measure
The detailed diagnosis of Unused disks measure lists the details on each wasted i.e., unused disk and figure out for how long the disks have been unused.
Figure 11 : The detailed diagnosis of the unused disks measure
The detailed diagnosis of Old VM snapshots measure lists the details on each wasted i.e., VM snapshot and figure out for how long the snapshot has been unused.
Figure 12 : The detailed diagnosis of the old VM snapshots measure
The detailed diagnosis of Expired web certificates measure lists the expired web certificate details specific to each type of wasted resource.
Figure 13 : The detailed diagnosis of the expired web certificates measure
The detailed diagnosis of Disconnected private endpoints measure lists the details of the disconnected private endpoints.
Figure 14 : The detailed diagnosis of the disconnected private endpoints measure
The detailed diagnosis of Unused subnets measure lists the details of unused subnets.
Figure 15 : The detailed diagnosis of the unused subnets measure