Azure Table storage monitoring data reference

See Monitoring Azure Storage for details on collecting and analyzing monitoring data for Azure Storage.

Metrics

The following tables list the platform metrics collected for Azure Storage.

Capacity metrics

Capacity metrics values are sent to Azure Monitor every hour. The values are refreshed daily. The time grain defines the time interval for which metrics values are presented. The supported time grain for all capacity metrics is one hour (PT1H).

Azure Storage provides the following capacity metrics in Azure Monitor.

Account Level

This table shows account-level metrics.

Metric Description
UsedCapacity The amount of storage used by the storage account. For standard storage accounts, it's the sum of capacity used by blob, table, file, and queue. For premium storage accounts and Blob storage accounts, it is the same as BlobCapacity.

Unit: Bytes
Aggregation Type: Average
Value example: 1024

Table storage

This table shows Table storage metrics.

Metric Description
TableCapacity The amount of Table storage used by the storage account.

Unit: Bytes
Aggregation Type: Average
Value example: 1024
TableCount The number of tables in the storage account.

Unit: Count
Aggregation Type: Average
Value example: 1024
TableEntityCount The number of table entities in the storage account.

Unit: Count
Aggregation Type: Average
Value example: 1024

Transaction metrics

Transaction metrics are emitted on every request to a storage account from Azure Storage to Azure Monitor. In the case of no activity on your storage account, there will be no data on transaction metrics in the period. All transaction metrics are available at both account and Table storage service level. The time grain defines the time interval that metric values are presented. The supported time grains for all transaction metrics are PT1H and PT1M.

Azure Storage provides the following transaction metrics in Azure Monitor.

Metric Description
Transactions The number of requests made to a storage service or the specified API operation. This number includes successful and failed requests, as well as requests that produced errors.

Unit: Count
Aggregation Type: Total
Applicable dimensions: ResponseType, GeoType, ApiName, and Authentication (Definition)
Value example: 1024
Ingress The amount of ingress data. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.

Unit: Bytes
Aggregation Type: Total
Applicable dimensions: GeoType, ApiName, and Authentication (Definition)
Value example: 1024
Egress The amount of egress data. This number includes egress from an external client into Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.

Unit: Bytes
Aggregation Type: Total
Applicable dimensions: GeoType, ApiName, and Authentication (Definition)
Value example: 1024
SuccessServerLatency The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.

Unit: Milliseconds
Aggregation Type: Average
Applicable dimensions: GeoType, ApiName, and Authentication (Definition)
Value example: 1024
SuccessE2ELatency The average end-to-end latency of successful requests made to a storage service or the specified API operation. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response. The difference between SuccessE2ELatency and SuccessServerLatency values is the latency likely caused by the network and the client.

Unit: Milliseconds
Aggregation Type: Average
Applicable dimensions: GeoType, ApiName, and Authentication (Definition)
Value example: 1024
Availability The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the total billable requests value and dividing it by the number of applicable requests, including those requests that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.

Unit: Percent
Aggregation Type: Average
Applicable dimensions: GeoType, ApiName, and Authentication (Definition)
Value example: 99.99

Metrics dimensions

Azure Storage supports following dimensions for metrics in Azure Monitor.

Dimension Name Description
GeoType Transaction from Primary or Secondary cluster. The available values include Primary and Secondary. It applies to Read Access Geo Redundant Storage(RA-GRS) when reading objects from secondary tenant.
ResponseType Transaction response type. The available values include:

  • ServerOtherError: All other server-side errors except described ones
  • ServerBusyError: Authenticated request that returned an HTTP 503 status code.
  • ServerTimeoutError: Timed-out authenticated request that returned an HTTP 500 status code. The timeout occurred due to a server error.
  • AuthenticationError: The request failed to be authenticated by the server.
  • AuthorizationError: Authenticated request that failed due to unauthorized access of data or an authorization failure.
  • NetworkError: Authenticated request that failed due to network errors. Most commonly occurs when a client prematurely closes a connection before timeout expiration.
  • ClientAccountBandwidthThrottlingError: The request is throttled on bandwidth for exceeding storage account scalability limits.
  • ClientAccountRequestThrottlingError: The request is throttled on request rate for exceeding storage account scalability limits.
  • ClientThrottlingError: Other client-side throttling error. ClientAccountBandwidthThrottlingError and ClientAccountRequestThrottlingError are excluded.
  • ClientShareEgressThrottlingError: Applicable to premium files shares only. Other client-side throttling error. The request failed due to egress bandwidth throttling for exceeding share limits. ClientAccountBandwidthThrottlingError is excluded.
  • ClientShareIngressThrottlingError: Applicable to premium files shares only. Other client-side throttling error. The request failed due to ingress bandwidth throttling for exceeding share limits. ClientAccountBandwidthThrottlingError is excluded.
  • ClientShareIopsThrottlingError: Other client-side throttling error. The request failed due to IOPS throttling. ClientAccountRequestThrottlingError is excluded.
  • ClientTimeoutError: Timed-out authenticated request that returned an HTTP 500 status code. If the client's network timeout or the request timeout is set to a lower value than expected by the storage service, it is an expected timeout. Otherwise, it is reported as a ServerTimeoutError.
  • ClientOtherError: All other client-side errors except described ones.
  • Success: Successful request
  • SuccessWithThrottling: Successful request when a SMB client gets throttled in the first attempt(s) but succeeds after retries.
  • SuccessWithShareEgressThrottling: Applicable to premium files shares only. Successful request when a SMB client gets throttled due to egress bandwidth throttling in the first attempt(s) but succeeds after retries.
  • SuccessWithShareIngressThrottling: Applicable to premium files shares only. Successful request when a SMB client gets throttled due to ingress bandwidth throttling in the first attempt(s) but succeeds after retries.
  • SuccessWithShareIopsThrottling: Applicable to premium files shares only. Successful request when a SMB client gets throttled due to IOPS throttling in the first attempt(s) but succeeds after retries.
  • ApiName The name of operation. If a failure occurs before the name of the operation is identified, the name appears as "Unknown". You can use the value of the ResponseType dimension to learn more about the failure.
    Authentication Authentication type used in transactions. The available values include:
  • AccountKey: The transaction is authenticated with storage account key.
  • SAS: The transaction is authenticated with shared access signatures.
  • OAuth: The transaction is authenticated with OAuth access tokens.
  • Anonymous: The transaction is requested anonymously. It doesn’t include preflight requests.
  • AnonymousPreflight: The transaction is preflight request.
  • Resource logs (preview)

    Note

    Azure Storage logs in Azure Monitor is in public preview, and is available for preview testing in all public and US Government cloud regions. This preview enables logs for blobs (including Azure Data Lake Storage Gen2), files, queues, tables, premium storage accounts in general-purpose v1 and general-purpose v2 storage accounts. Classic storage accounts are not supported.

    The following table lists the properties for Azure Storage resource logs when they're collected in Azure Monitor Logs or Azure Storage. The properties describe the operation, the service, and the type of authorization that was used to perform the operation.

    Fields that describe the operation

    Property Description
    time The Universal Time Coordinated (UTC) time when the request was received by storage. For example: 2018/11/08 21:09:36.6900118.
    resourceId The resource ID of the storage account. For example: /subscriptions/208841be-a4v3-4234-9450-08b90c09f4/resourceGroups/
    myresourcegroup/providers/Microsoft.Storage/storageAccounts/mystorageaccount/storageAccounts/blobServices/default
    category The category of the requested operation. For example: StorageRead, StorageWrite, or StorageDelete.
    operationName The type of REST operation that was performed.
    For a complete list of operations, see Storage Analytics Logged Operations and Status Messages topic.
    operationVersion The storage service version that was specified when the request was made. This is equivalent to the value of the x-ms-version header. For example: 2017-04-17.
    schemaVersion The schema version of the log. For example: 1.0.
    statusCode The HTTP status code for the request. If the request is interrupted, this value might be set to Unknown.
    For example: 206
    statusText The status of the requested operation. For a complete list of status messages, see Storage Analytics Logged Operations and Status Messages topic. In version 2017-04-17 and later, the status message ClientOtherError isn't used. Instead, this field contains an error code. For example: SASSuccess
    durationMs The total time, expressed in milliseconds, to perform the requested operation. This includes the time to read the incoming request, and to send the response to the requester. For example: 12.
    callerIpAddress The IP address of the requester, including the port number. For example: 192.100.0.102:4362.
    correlationId The ID that is used to correlate logs across resources. For example: b99ba45e-a01e-0042-4ea6-772bbb000000.
    location The location of storage account. For example: North Europe.
    protocol The protocol that is used in the operation. For example: HTTP, HTTPS, SMB, or NFS
    uri Uniform resource identifier that is requested.

    Fields that describe how the operation was authenticated

    Property Description
    identity / type The type of authentication that was used to make the request. For example: OAuth, Kerberos, SAS Key, Account Key, or Anonymous
    identity / tokenHash The SHA-256 hash of the authentication token used on the request.
    When the authentication type is Account Key, the format is "key1 | key2 (SHA256 hash of the key)". For example: key1(5RTE343A6FEB12342672AFD40072B70D4A91BGH5CDF797EC56BF82B2C3635CE).
    When authentication type is SAS Key, the format is "key1 | key2 (SHA 256 hash of the key),SasSignature(SHA 256 hash of the SAS token)". For example: key1(0A0XE8AADA354H19722ED12342443F0DC8FAF3E6GF8C8AD805DE6D563E0E5F8A),SasSignature(04D64C2B3A704145C9F1664F201123467A74D72DA72751A9137DDAA732FA03CF). When authentication type is OAuth, the format is "SHA 256 hash of the OAuth token". For example: B3CC9D5C64B3351573D806751312317FE4E910877E7CBAFA9D95E0BE923DD25C
    For other authentication types, there is no tokenHash field.
    authorization / action The action that is assigned to the request.
    authorization / roleAssignmentId The role assignment ID. For example: 4e2521b7-13be-4363-aeda-111111111111.
    authorization / roleDefinitionId The role definition ID. For example: ba92f5b4-2d11-453d-a403-111111111111".
    principals / id The ID of the security principal. For example: a4711f3a-254f-4cfb-8a2d-111111111111.
    principals / type The type of security principal. For example: ServicePrincipal.
    requester / appID The Open Authorization (OAuth) application ID that is used as the requester.
    For example: d3f7d5fe-e64a-4e4e-871d-333333333333.
    requester / audience The OAuth audience of the request. For example: https://storage.azure.com.
    requester / objectId The OAuth object ID of the requester. In case of Kerberos authentication, represents the object identifier of Kerberos authenticated user. For example: 0e0bf547-55e5-465c-91b7-2873712b249c.
    requester / tenantId The OAuth tenant ID of identity. For example: 72f988bf-86f1-41af-91ab-222222222222.
    requester / tokenIssuer The OAuth token issuer. For example: https://sts.windows.net/72f988bf-86f1-41af-91ab-222222222222/.
    requester / upn The User Principal Name (UPN) of requestor. For example: someone@contoso.com.
    requester / userName This field is reserved for internal use only.

    Fields that describe the service

    Property Description
    accountName The name of the storage account. For example: mystorageaccount.
    requestUrl The URL that is requested.
    userAgentHeader The User-Agent header value, in quotes. For example: WA-Storage/6.2.0 (.NET CLR 4.0.30319.42000; Win32NT 6.2.9200.0).
    referrerHeader The Referrer header value. For example: http://contoso.com/about.html.
    clientRequestId The x-ms-client-request-id header value of the request. For example: 360b66a6-ad4f-4c4a-84a4-0ad7cb44f7a6.
    etag The ETag identifier for the returned object, in quotes. For example: 0x8D101F7E4B662C4.
    serverLatencyMs The total time expressed in milliseconds to perform the requested operation. This value doesn't include network latency (the time to read the incoming request and send the response to the requester). For example: 22.
    serviceType The service associated with this request. For example: blob, table, files, or queue.
    operationCount The number of each logged operation that is involved in the request. This count starts with an index of 0. Some requests require more than one operation. Most requests perform only one operation. For example: 1.
    requestHeaderSize The size of the request header expressed in bytes. For example: 578.
    If a request is unsuccessful, this value might be empty.
    requestBodySize The size of the request packets, expressed in bytes, that are read by the storage service.
    For example: 0.
    If a request is unsuccessful, this value might be empty.
    responseHeaderSize The size of the response header expressed in bytes. For example: 216.
    If a request is unsuccessful, this value might be empty.
    responseBodySize The size of the response packets written by the storage service, in bytes. If a request is unsuccessful, this value may be empty. For example: 216.
    requestMd5 The value of either the Content-MD5 header or the x-ms-content-md5 header in the request. The MD5 hash value specified in this field represents the content in the request. For example: 788815fd0198be0d275ad329cafd1830.
    This field can be empty.
    serverMd5 The value of the MD5 hash calculated by the storage service. For example: 3228b3cf1069a5489b298446321f8521.
    This field can be empty.
    lastModifiedTime The Last Modified Time (LMT) for the returned object. For example: Tuesday, 09-Aug-11 21:13:26 GMT.
    This field is empty for operations that can return multiple objects.
    conditionsUsed A semicolon-separated list of key-value pairs that represent a condition. The conditions can be any of the following:
  • If-Modified-Since
  • If-Unmodified-Since
  • If-Match
  • If-None-Match
    For example: If-Modified-Since=Friday, 05-Aug-11 19:11:54 GMT.
  • contentLengthHeader The value of the Content-Length header for the request sent to the storage service. If the request was successful, this value is equal to requestBodySize. If a request is unsuccessful, this value may not be equal to requestBodySize, or it might be empty.
    tlsVersion The TLS version used in the connection of request. For example: TLS 1.2.
    smbTreeConnectID The Server Message Block (SMB) treeConnectId established at tree connect time. For example: 0x3
    smbPersistentHandleID Persistent handle ID from an SMB2 CREATE request that survives network reconnects. Referenced in MS-SMB2 2.2.14.1 as SMB2_FILEID.Persistent. For example: 0x6003f
    smbVolatileHandleID Volatile handle ID from an SMB2 CREATE request that is recycled on network reconnects. Referenced in MS-SMB2 2.2.14.1 as SMB2_FILEID.Volatile. For example: 0xFFFFFFFF00000065
    smbMessageID The connection relative MessageId. For example: 0x3b165
    smbCreditsConsumed The ingress or egress consumed by the request, in units of 64k. For example: 0x3
    smbCommandDetail More information about this specific request rather than the general type of request. For example: 0x2000 bytes at offset 0xf2000
    smbFileId The FileId associated with the file or directory. Roughly analogous to an NTFS FileId. For example: 0x9223442405598953
    smbSessionID The SMB2 SessionId established at session setup time. For example: 0x8530280128000049
    smbCommandMajor uint32 Value in the SMB2_HEADER.Command. Currently, this is a number between 0 and 18 inclusive. For example: 0x6
    smbCommandMinor The subclass of SmbCommandMajor, where appropriate. For example: DirectoryCloseAndDelete

    See also