Monitor Azure Storage Accounts in SAM
Use Azure Storage Account Monitoring, a feature within SAM and SolarWinds Observability Self-Hosted Cloud Infrastructure Monitoring that provides native visibility into Microsoft Azure Storage Accounts and their sub-services, Azure Blob Storage and Azure Table Storage.
Storage polling levels
This feature polls properties and metrics at three levels:
-
Storage Account level — the top-level Azure resource (
Microsoft.Storage/storageAccounts) that contains multiple storage types and overall account properties and aggregated metrics. -
Blob Service level — metrics and properties specific to the Blob sub-service and individual Blob Container properties.
-
Table Service level — metrics and properties specific to the Table sub-service and individual Table properties.
Data is collected via Azure Resource Manager (ARM) APIs, Azure Resource Graph, and Azure Monitor Metrics APIs using the Declarative Pipeline (DP) polling framework.
Azure does not expose metrics at the individual blob or table level. Metrics are available at the service level (Blob Service, Table Service) or Storage Account level. Individual blob and table entities are polled for properties only, such as name and lease status, not performance metrics.
What does it help us observe?
-
Health and availability of Azure Storage Accounts, including Blob and Table services.
-
Performance metrics such as latency (end-to-end and server), transaction counts, data ingress/egress.
-
Capacity in the form of storage used, number of blobs/containers, number of tables/table entities.
-
Issue detection including throttling, high latency, failed transactions, availability drops.
-
Unified view that correlates storage data with other monitored Azure resources in Modern Dashboards.
-
FinOps use cases when you need to understand storage usage patterns and cost drivers.
Prerequisites and Permissions
Supported Azure Storage Account Types
SolarWinds polls Azure Resource Manager, or ARM-based, Azure Storage Accounts that expose Blob and/or Table services. All polling queries and metrics definitions are based on these resource types.
While Azure Storage Accounts can contain four sub-service types: Blobs, Tables, File Shares, and Queues, only Blob Storage and Table Storage are monitored in SAM and SolarWinds Observability Self-Hosted currently.
Classic Azure Service Management (ASM) storage accounts are not supported in this feature.
Azure Permissions and Role Requirements
The feature requires an Azure AD App Registration (Service Principal) configured with the following four credential values:
-
Subscription ID
-
Tenant (Directory) ID
-
Client (Application) ID
-
Client Secret (Application Secret Key)
The App Registration must have an appropriate role assigned at the Subscription level via Access Control (IAM) in Azure Portal.
The feature polls data via Azure Monitor Metrics API (microsoft.insights/metrics) — for collecting performance and capacity metrics for Blob and Table services.
Product Version and Licensing Requirements
-
Product: SolarWinds Observability Self-Hosted (2026.2 or later required).
-
Blob Storage support: Renamed to "Storage Account" in 2026.2.
-
Licensing: SolarWinds Observability Self-Hosted required (any tier).
Storage Accounts consume monitored cloud resource slots. See also Understand Azure polling limits.
Add an Azure Account in SolarWinds Platform
To access the Azure Storage Account Monitoring feature, first add your Azure account following the steps below. You may also edit an existing node. Be sure to have your account credentials before you start. For more details, see Add a cloud account to the SolarWinds Platform.
-
Navigate to Settings > All Settings > Cloud Infrastructure Monitoring Settings.
-
Click Add Cloud Account.
-
Select Microsoft Azure as the Cloud Service Provider.
-
Enter the required Azure credentials:
-
Subscription ID
-
Tenant (Directory) ID
-
Client (Application) ID
-
Client Secret (Application Secret Key)
-
-
Click Test Connection to verify credentials and click Next.
-
On the Monitored Resources page choose:
-
Monitor all supported resources (where Storage Account is included)
-
Monitor selected entities > Storage >Azure Storage Account
-
-
Complete the wizard.
Manage Azure Storage Account polling
After adding the cloud account or editing an existing one, navigate to Manage Cloud Accounts page: Settings > All Settings > Cloud Infrastructure Monitoring Settings.
For more information, see Manage your cloud infrastructure.
Verify cloud storage data
There are three ways to view and verify your cloud storage polling data:
-
In the Modern Dashboard, navigate to the Azure Storage Account section: My dashboards > Cloud > Azure > Storage.
-
In SWQL Studio, query
Orion.Cloud.Azure.StorageAccount. -
In SQL Server Management Studio view
dbo.Cloud_Azure_StorageAccount…tables.
Troubleshooting
Review the table below for common issues and troubleshooting recommendations to resolve them. Log files are located in the following directories:
C:\ProgramData\SolarWinds\Logs\VIM\CloudMonitoring\VIM.CloudMonitoring.BusinessLayer.log
C:\ProgramData\SolarWinds\Logs\VIM\CloudMonitoring\CloudMonitoring.Pollers_[XXXXX].log
|
Issue |
Resolution |
|---|---|
|
No data after 30+ minutes |
Check Azure credentials, verify Reader role, review poller logs |
|
Missing Table data, Blob data present |
Confirm tables exist in the Storage Account; verify Azure Monitor returns Table metrics |
|
"Unauthorized" errors in logs |
Check Client Secret expiry in Azure Portal, regenerate if needed |
|
Stale capacity metrics |
PT1H granularity — wait at least 1 hour |
Properties, metrics, and database entities
The following reference tables detail the properties and metrics of collected data when polling the cloud storage, presented below by each Azure Storage sub-service type, as well as each type's database entities.
Capacity metrics use PT1H (1-hour) granularity and require a separate polling sequence. This means capacity values may be up to 1 hour behind real-time.
Azure Blob Storage — Collected Data
Blob Service Properties
|
Property |
Azure Property |
Description |
|---|---|---|
|
Storage Account Name |
|
Unique name of the parent Storage Account |
|
Storage Account Type |
|
Account type (for example, StorageV2 or BlobStorage) |
|
Location (Region) |
|
Azure region |
|
Resource Group |
|
Resource Group containing the Storage Account |
|
Subscription |
|
Azure Subscription ID |
|
SKU / Replication |
|
Replication type (LRS, GRS, RA-GRS, ZRS, etc.) |
Blob Container Properties
|
Property |
Description |
|---|---|
|
Container Name |
Name of the blob container |
|
Last Modified |
Timestamp of last modification |
|
Lease Status |
Locked (leased) or available |
|
Lease State |
Available, leased, expired, breaking, broken |
Blob Service Metrics
|
SAM Metric |
Azure Metric |
Unit |
Aggregation |
Time Grain |
Description |
Usage in SAM |
|---|---|---|---|---|---|---|
|
Availability |
|
% |
Average |
PT1M |
Percentage of successful requests |
Health Score, charts, alerts |
| Blob Capacity | BlobCapacity
|
Bytes | Average | PT1H | Total Blob storage used | Capacity charts |
| Blob Count | BlobCount
|
Count | Average | PT1H | Number of blob objects | Capacity charts |
| Container Count | ContainerCount
|
Count | Average | PT1H | Number of containers | Capacity charts |
| Index Capacity | IndexCapacity
|
Bytes | Average | PT1H | ADLS Gen2 Hierarchical Index storage | Capacity charts |
|
Transactions |
Transactions
|
Count | Sum | PT1M | Total requests (success, failed, and errors) | Performance charts, alerts |
|
Ingress |
Ingress
|
Bytes | Sum | PT1M | Data written (external and intra-Azure) | Traffic charts |
|
Egress |
Egress
|
Bytes |
Sum |
PT1M |
Data read (external and intra-Azure) |
Traffic charts |
|
Success Server Latency |
SuccessServerLatency
|
ms |
Average | PT1M | Server processing time (excluding network) | Latency charts |
| Success E2E Latency | SuccessE2ELatency
|
ms | Average | PT1M | End-to-end latency including read/send/ack | Latency charts, Health Score |
Blob Database Entities
| Entity | Description |
|---|---|
Orion.Cloud.Azure.StorageAccount
|
Parent Storage Account |
Orion.Cloud.Azure.StorageAccountBlobService
|
Blob Service level data |
|
|
Individual Blob Container properties |
|
|
Blob Service time-series statistics |
Azure Table Storage — Collected Data
Table Service Properties
| Property | Azure Property |
Description |
|---|---|---|
|
Name |
name
|
Name of the table |
| Resource Group | Inherited from parent Storage Account | Not stored on Table entity (Foreign Key to parent) |
|
Region |
Inherited from parent Storage Account |
Azure region, inherited from parent |
|
Subscription |
Inherited from parent Storage Account |
Subscription ID, inherited from parent |
Table Service Metrics
|
SAM Metric |
Azure Metric |
Unit |
Aggregation |
Time Grain |
Description |
Usage in SAM |
|---|---|---|---|---|---|---|
|
Transactions |
|
Count |
Sum |
PT1M |
Total requests (success, failed, and errors) |
Performance charts, alerts |
| Success E2E Latency | SuccessE2ELatency
|
ms | Avg, Min, Max | PT1M | End-to-end latency of successful requests | Latency charts |
| Success Server Latency | SuccessServerLatency
|
ms | Avg, Min, Max | PT1M | Server processing time (excluding network) | Latency charts |
|
Availability |
Availability
|
% | Avg, Min, Max | PT1M | Percentage of availability from billable/applicable requests | Health monitoring, alerts |
|
Ingress |
Ingress
|
Bytes | Sum, Avg, Max, Min | PT1M | Total ingress (external and intra-Azure) | Traffic charts |
| Egress | Egress
|
Bytes | Sum, Avg, Max, Min | PT1M | Total egress (external and intra-Azure) | Traffic charts |
| Table Capacity | TableCapacity
|
Bytes | Avg | PT1H | Total Table storage used | Capacity charts |
| Table Count | TableCount
|
Count | Avg | PT1H | Number of tables | Capacity charts |
| Table Entity Count | TableEntityCount
|
Count | Avg | PT1H | Total table entities | Capacity charts |
Table Database Entities
| Entity | Description |
|---|---|
Orion.Cloud.Azure.StorageAccount
|
Parent Storage Account (shared with Blob) |
Orion.Cloud.Azure.StorageAccountTable
|
Individual Table properties |
Orion.Cloud.Azure.StorageAccountTableService
|
Table Service level data |
Orion.Cloud.Azure.StorageAccountTableServiceStatistics
|
Table Service time-series statistics |