Usage and billing in Azure Stack

Usage represents the quantity of resources consumed by a user. Azure Stack collects usage information for each user and uses it to bill them. This article describes how Azure Stack users are billed for resource usage, and how the billing information is accessed for analytics, chargeback, etc.

Azure Stack contains the infrastructure to collect and aggregate usage data for all resources. You can access this data and export it to a billing system by using a billing adapter, or export it to a business intelligence tool like Microsoft Power BI. After exporting, this billing information is used for analytics or transferred to a chargeback system.

Conceptual model of a billing adapter connecting Azure Stack to a Billing application

What usage information can I find, and how?

Azure Stack Resource providers, such as Compute, Storage, and Network, generate usage data at hourly intervals for each subscription. The usage data contains information about the resource used such as resource name, meter name, meter ID, quantity used etc. To learn about the meters ID resources, refer to the usage API FAQ article.

After the usage data has been collected, it is reported to Azure to generate a bill, which can be viewed through the Azure billing portal. The Azure billing portal shows the usage data only for the chargeable resources. In addition to the chargeable resources, Azure Stack captures usage data for a broader set of resources, which you can access in your Azure Stack environment through REST APIs or PowerShell. Azure Stack cloud administrators can retrieve the usage data for all user subscriptions whereas a user can get only their usage details.

Retrieve usage information

To generate the usage data, you should have resources that are running and actively using the system. If you’re not sure whether you have any resources running in Azure Stack Marketplace, deploy a virtual machine (VM), and verify the VM monitoring blade to make sure it’s running. Use the following PowerShell cmdlets to view the usage data:

  1. Install PowerShell for Azure Stack.
  2. Configure PowerShell and sign in to your Azure Stack administrator or user subscription.
  3. To retrieve the usage data, use the Get-UsageAggregates PowerShell cmdlet:

    Get-UsageAggregates -ReportedStartTime "<Start time for usage reporting>" -ReportedEndTime "<end time for usage reporting>" -AggregationGranularity <Hourly or Daily>

    If usage data is available, it’s returned in as shown in the following screenshot:

    Usage aggregates

    PowerShell returns 1,000 lines of usage per call. You can use the continuation parameter to retrieve more than 1,000 lines

Next steps

Report Azure Stack usage data to Azure

Provider Resource Usage API

Tenant Resource Usage API

Usage-related FAQ