Documentation forServer & Application Monitor

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.

  1. Navigate to Settings > All Settings > Cloud Infrastructure Monitoring Settings.

  2. Click Add Cloud Account.

  3. Select Microsoft Azure as the Cloud Service Provider.

  4. Enter the required Azure credentials:

    • Subscription ID

    • Tenant (Directory) ID

    • Client (Application) ID

    • Client Secret (Application Secret Key)

  5. Click Test Connection to verify credentials and click Next.

  6. On the Monitored Resources page choose:

    • Monitor all supported resources (where Storage Account is included)

    • Monitor selected entities > Storage >Azure Storage Account

  7. 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

name

Unique name of the parent Storage Account

Storage Account Type

kind

Account type (for example, StorageV2 or BlobStorage)

Location (Region)

location

Azure region

Resource Group

resourceGroup

Resource Group containing the Storage Account

Subscription

subscriptionId

Azure Subscription ID

SKU / Replication

sku.name

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

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

Orion.Cloud.Azure.StorageAccountBlobContainer

Individual Blob Container properties

Orion.Cloud.Azure.StorageAccountBlobServiceStatistics

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

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