Azure Blob Storage monitoring data reference

This article contains all the monitoring reference information for this service.

See Monitor Azure Blob Storage for details on the data you can collect for Azure Blob Storage and how to use it.

Metrics

This section lists all the automatically collected platform metrics for this service. These metrics are also part of the global list of all platform metrics supported in Azure Monitor.

For information on metric retention, see Azure Monitor Metrics overview.

Supported metrics for Microsoft.Storage/storageAccounts

The following table lists the metrics available for the Microsoft.Storage/storageAccounts resource type.

Table headings

  • Metric - The metric display name as it appears in the Azure portal.
  • Name in Rest API - Metric name as referred to in the REST API.
  • Unit - Unit of measure.
  • Aggregation - The default aggregation type. Valid values: Average, Minimum, Maximum, Total, Count.
  • Dimensions - Dimensions available for the metric.
  • Time Grains - Intervals at which the metric is sampled. For example, PT1M indicates that the metric is sampled every minute, PT30M every 30 minutes, PT1H every hour, and so on.
  • DS Export- Whether the metric is exportable to Azure Monitor Logs via Diagnostic Settings. For information on exporting metrics, see Create diagnostic settings in Azure Monitor.
Category Metric Name in REST API Unit Aggregation Dimensions Time Grains DS Export
Transaction Availability

The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.
Availability Percent Average, Minimum, Maximum GeoType, ApiName, Authentication PT1M Yes
Transaction Egress

The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.
Egress Bytes Total, Average, Minimum, Maximum GeoType, ApiName, Authentication PT1M Yes
Transaction Ingress

The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.
Ingress Bytes Total, Average, Minimum, Maximum GeoType, ApiName, Authentication PT1M Yes
Transaction Success E2E Latency

The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.
SuccessE2ELatency MilliSeconds Average, Minimum, Maximum GeoType, ApiName, Authentication PT1M Yes
Transaction Success Server Latency

The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.
SuccessServerLatency MilliSeconds Average, Minimum, Maximum GeoType, ApiName, Authentication PT1M Yes
Transaction 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 which produced errors. Use ResponseType dimension for the number of different type of response.
Transactions Count Total ResponseType, GeoType, ApiName, Authentication, TransactionType PT1M Yes
Capacity Used capacity

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 or FileCapacity.
UsedCapacity Bytes Average <none> PT1H No

Supported metrics for Microsoft.Storage/storageAccounts/blobServices

The following table lists the metrics available for the Microsoft.Storage/storageAccounts/blobServices resource type.

Table headings

  • Metric - The metric display name as it appears in the Azure portal.
  • Name in Rest API - Metric name as referred to in the REST API.
  • Unit - Unit of measure.
  • Aggregation - The default aggregation type. Valid values: Average, Minimum, Maximum, Total, Count.
  • Dimensions - Dimensions available for the metric.
  • Time Grains - Intervals at which the metric is sampled. For example, PT1M indicates that the metric is sampled every minute, PT30M every 30 minutes, PT1H every hour, and so on.
  • DS Export- Whether the metric is exportable to Azure Monitor Logs via Diagnostic Settings. For information on exporting metrics, see Create diagnostic settings in Azure Monitor.
Category Metric Name in REST API Unit Aggregation Dimensions Time Grains DS Export
Transaction Availability

The percentage of availability for the storage service or the specified API operation. Availability is calculated by taking the TotalBillableRequests value and dividing it by the number of applicable requests, including those that produced unexpected errors. All unexpected errors result in reduced availability for the storage service or the specified API operation.
Availability Percent Average, Minimum, Maximum GeoType, ApiName, Authentication, Tier PT1M Yes
Capacity Blob Capacity

The amount of storage used by the storage account's Blob service in bytes.
BlobCapacity Bytes Average BlobType, Tier PT1H No
Capacity Blob Count

The number of blob objects stored in the storage account.
BlobCount Count Average BlobType, Tier PT1H No
Capacity Blob Provisioned Size

The amount of storage provisioned in the storage account's Blob service in bytes.
BlobProvisionedSize Bytes Average BlobType, Tier PT1H No
Capacity Blob Container Count

The number of containers in the storage account.
ContainerCount Count Average <none> PT1H Yes
Transaction Egress

The amount of egress data. This number includes egress to external client from Azure Storage as well as egress within Azure. As a result, this number does not reflect billable egress.
Egress Bytes Total, Average, Minimum, Maximum GeoType, ApiName, Authentication, Tier PT1M Yes
Capacity Index Capacity

The amount of storage used by Azure Data Lake Storage Gen2 hierarchical index.
IndexCapacity Bytes Average <none> PT1H No
Transaction Ingress

The amount of ingress data, in bytes. This number includes ingress from an external client into Azure Storage as well as ingress within Azure.
Ingress Bytes Total, Average, Minimum, Maximum GeoType, ApiName, Authentication, Tier PT1M Yes
Transaction Success E2E Latency

The average end-to-end latency of successful requests made to a storage service or the specified API operation, in milliseconds. This value includes the required processing time within Azure Storage to read the request, send the response, and receive acknowledgment of the response.
SuccessE2ELatency MilliSeconds Average, Minimum, Maximum GeoType, ApiName, Authentication, Tier PT1M Yes
Transaction Success Server Latency

The average time used to process a successful request by Azure Storage. This value does not include the network latency specified in SuccessE2ELatency.
SuccessServerLatency MilliSeconds Average, Minimum, Maximum GeoType, ApiName, Authentication, Tier PT1M Yes
Transaction 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 which produced errors. Use ResponseType dimension for the number of different type of response.
Transactions Count Total ResponseType, GeoType, ApiName, Authentication, TransactionType, Tier PT1M Yes

Metric dimensions

For information about what metric dimensions are, see Multi-dimensional metrics.

This service has the following dimensions associated with its metrics.

Dimensions available to all storage services

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: 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.
  • TransactionType Type of transaction. The available values include:
  • User: The transaction was made by customer.
  • System: The transaction was made by system process.
  • Dimensions specific to Blob storage

    Dimension Name Description
    BlobType The type of blob for Blob metrics only. The supported values are BlockBlob, PageBlob, and Azure Data Lake Storage. Append blobs are included in BlockBlob.
    Tier Azure storage offers different access tiers, which allow you to store blob object data in the most cost-effective manner. See more in Azure Storage blob tier. The supported values include:

    Hot: Hot tier
    Cool: Cool tier
    Cold: Cold tier
    Archive: Archive tier
    Premium: Premium tier for block blob
    P4/P6/P10/P15/P20/P30/P40/P50/P60: Tier types for premium page blob
    Standard: Tier type for standard page Blob
    Untiered: Tier type for general purpose v1 storage account

    For the metrics supporting dimensions, you need to specify the dimension value to see the corresponding metrics values. For example, if you look at Transactions value for successful responses, you need to filter the ResponseType dimension with Success. If you look at BlobCount value for Block Blob, you need to filter the BlobType dimension with BlockBlob.

    Resource logs

    This section lists the types of resource logs you can collect for this service. The section pulls from the list of all resource logs category types supported in Azure Monitor.

    Supported resource logs for Microsoft.Storage/storageAccounts/blobServices

    Category Category display name Log table Supports basic log plan Supports ingestion-time transformation Example queries Costs to export
    StorageDelete Storage Delete StorageBlobLogs

    Storage Blob Service Logs Schema

    Yes Yes Queries Yes
    StorageRead Storage Read StorageBlobLogs

    Storage Blob Service Logs Schema

    Yes Yes Queries Yes
    StorageWrite Storage Write StorageBlobLogs

    Storage Blob Service Logs Schema

    Yes Yes Queries Yes

    Azure Monitor Logs tables

    This section refers to all of the Azure Monitor Logs tables relevant to this service, which are available for query by Log Analytics using Kusto queries.

    This service uses the following tables to store resource log data.

    The following sections describe 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

    {
        "time": "2019-02-28T19:10:21.2123117Z",
        "resourceId": "/subscriptions/12345678-2222-3333-4444-555555555555/resourceGroups/mytestrp/providers/Microsoft.Storage/storageAccounts/testaccount1/blobServices/default",
        "category": "StorageWrite",
        "operationName": "PutBlob",
        "operationVersion": "2017-04-17",
        "schemaVersion": "1.0",
        "statusCode": 201,
        "statusText": "Success",
        "durationMs": 5,
        "callerIpAddress": "192.168.0.1:11111",
        "correlationId": "ad881411-201e-004e-1c99-cfd67d000000",
        "location": "uswestcentral",
        "uri": "http://mystorageaccount.blob.core.windows.net/cont1/blobname?timeout=10"
    }
    
    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 or SMB status code for the request. If the HTTP 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

    {
        "identity": {
            "authorization": [
                {
                    "action": "Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read",
                    "denyAssignmentId": "821ddce4-021d-4d04-8a41-gggggggggggg",
                    "principals": [
                        {
                            "id": "fde5ba15-4355-4223-b811-cccccccccccc",
                            "type": "User"
                        }
                    ],
                    "reason": "Policy",
                    "result": "Granted",
                    "roleAssignmentId": "ecf75cb8-491c-4a25-ad6e-aaaaaaaaaaaa",
                    "roleDefinitionId": "b7e6dc6d-f1e8-4753-8033-ffffffffffff",
                    "type": "RBAC"
                }
            ],
            "properties": {
                "metricResponseType": "Success",
                "objectKey": "/samplestorageaccount/samplecontainer/sampleblob.png"
               },
            "requester": {
                "appId": "691458b9-1327-4635-9f55-bbbbbbbbbbbb",
                "audience": "https://storage.azure.com/",
                "objectId": "fde5ba15-4355-4223-b811-cccccccccccc",
                "tenantId": "72f988bf-86f1-41af-91ab-dddddddddddd",
                "tokenIssuer": "https://sts.windows.net/72f988bf-86f1-41af-91ab-eeeeeeeeeeee/"
               },
            "type": "OAuth"
        },
    }
    
    
    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 / denyAssignmentId The date in GUID format when access was denied by a deny assignment.
    The deny assignment might be from Azure Blueprints or a managed application.
    For more information on deny assignments, see Understand Azure deny assignments
    authorization / reason The reason for the authorization result of the request.
    For example: Policy, NoApplicablePolicy, or MissingAttributes
    authorization / result The authorization result of the request.
    For example: Granted or Denied
    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.
    authorization / type The source of the authorization result for the request.
    For example: RBAC or ABAC
    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.
    properties / metricResponseType The response from the metrics transaction.
    For examples, see the ResponseType metrics dimension for your storage service:
    blobs
    files
    queues
    tables
    properties / objectKey The path to the object being accessed.
    For example: samplestorageaccount/container1/blob.png.
    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

    {
        "properties": {
            "accountName": "testaccount1",
            "requestUrl": "https://testaccount1.blob.core.windows.net:443/upload?restype=container&comp=list&prefix=&delimiter=/&marker=&maxresults=30&include=metadata&_=1551405598426",
            "userAgentHeader": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134",
            "referrerHeader": "blob:https://portal.azure.com/6f50025f-3b88-488d-b29e-3c592a31ddc9",
            "clientRequestId": "",
            "etag": "",
            "serverLatencyMs": 63,
            "serviceType": "blob",
            "operationCount": 0,
            "requestHeaderSize": 2658,
            "requestBodySize": 0,
            "responseHeaderSize": 295,
            "responseBodySize": 2018,
            "contentLengthHeader": 0,
            "requestMd5": "",
            "serverMd5": "",
            "lastModifiedTime": "",
            "conditionsUsed": "",
            "smbTreeConnectID" : "0x3",
            "smbPersistentHandleID" : "0x6003f",
            "smbVolatileHandleID" : "0xFFFFFFFF00000065",
            "smbMessageID" : "0x3b165",
            "smbCreditsConsumed" : "0x3",
            "smbCommandDetail" : "0x2000 bytes at offset 0xf2000",
            "smbFileId" : " 0x9223442405598953",
            "smbSessionID" : "0x8530280128000049",
            "smbCommandMajor" : "0x6",
            "smbCommandMinor" : "DirectoryCloseAndDelete"
        }
    }
    
    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

    Activity log

    The linked table lists the operations that may be recorded in the activity log for this service. This is a subset of all the possible resource provider operations in the activity log.

    For more information on the schema of activity log entries, see Activity Log schema.