Registro de Azure Storage Analytics

Storage Analytics registra información detallada sobre las solicitudes correctas y erróneas realizadas a un servicio de almacenamiento. Esta información se puede utilizar para supervisar solicitudes concretas y para diagnosticar problemas con un servicio de almacenamiento. Las solicitudes se registran en función de la mejor opción. Esto significa que la mayoría de las solicitudes darán lugar a una entrada de registro, pero no se garantiza la integridad y la escala de tiempo de los registros de Storage Analytics.

Nota:

Se recomienda usar los registros de Azure Storage en Azure Monitor en lugar de los registros de Storage Analytics. Para más información, consulte cualquiera de los siguientes artículos:

El registro de Storage Analytics no está habilitado de forma predeterminada en la cuenta de almacenamiento. Puede habilitarlo en Azure Portal o mediante PowerShell o la CLI de Azure. Para una guía paso a paso, consulte Habilitación y administración de los registros de Azure Storage Analytics (clásico).

También puede habilitar los registros de Storage Analytics mediante programación a través de la API de REST o la biblioteca cliente. Use las operaciones Obtener las propiedades de Blob service, Obtener las propiedades de Queue service y Obtener las propiedades de Table service para habilitar Storage Analytics en cada servicio. Para ver un ejemplo que habilita los registros de Storage Analytics mediante .NET, consulte Habilitación de registros.

Las entradas del registro se crean solo si se presentan solicitudes al punto de conexión de servicio. Por ejemplo, si una cuenta de almacenamiento tiene actividad en el punto de conexión de Blob service, pero no en los puntos de conexión de Table service o Queue service, solo se crearán los registros correspondientes a Blob service.

Nota:

Actualmente, el registro de Storage Analytics está disponible solo para los servicios Blob, Queue y Table service. El registro de Storage Analytics también está disponible para las cuentas BlockBlobStorage de rendimiento Premium. Sin embargo, no está disponible para las cuentas de uso general v2 con rendimiento Premium.

Solicitudes registradas en el registro

Registrar solicitudes de autenticación

Se registran los siguientes tipos de solicitudes autenticadas:

  • Solicitudes correctas

  • Solicitudes erróneas, incluidos errores de tiempo de espera, de limitación, de red, de autorización y de otro tipo

  • Solicitudes que usan una firma de acceso compartido (SAS) u OAuth, tanto las correctas como las erróneas

  • Solicitudes de datos de análisis

    Las solicitudes realizadas por el propio Storage Analytics, como la creación o eliminación del registro, no se registran. Puede encontrar una lista completa de los datos registrados en los temas Operaciones y mensajes de estado registrados por Storage Analytics y Formato del registro de Storage Analytics.

Registrar solicitudes anónimas

Se registran los siguientes tipos de solicitudes anónimas:

Nota:

Storage Analytics registra todas las llamadas internas al plano de datos. También se registran las llamadas del proveedor de recursos de Azure Storage. Para identificar estas solicitudes, busque la cadena de consulta <sk=system-1> en la dirección URL de la solicitud.

Cómo se almacenan los registros

Todos los registros se almacenan en blobs en bloques, en un contenedor denominado $logs, que se crea automáticamente cuando Storage Analytics se habilita en una cuenta de almacenamiento. El contenedor $logs se encuentra en el espacio de nombres del blob de la cuenta de almacenamiento, por ejemplo: http://<accountname>.blob.core.windows.net/$logs. Este contenedor no se puede eliminar una vez habilitado Storage Analytics, aunque su contenido sí se puede eliminar. Si usa la herramienta de exploración del almacenamiento para ir directamente al contenedor, verá todos los blobs que contienen los datos de registro.

Nota:

El contenedor $logs no se muestra cuando se realiza una operación para enumerar los contenedores, como la operación Lista de contenedores. Se debe tener acceso a él directamente. Por ejemplo, puede utilizar la operación Mostrar blobs para acceder a los blobs en el contenedor $logs.

A medida que se registran las solicitudes, Storage Analytics cargará los resultados intermedios como bloques. Periódicamente, Storage Analytics confirmará estos bloques para que estén disponibles como blobs. Hasta que los datos de registro aparezcan en los blobs del contenedor $logs, puede transcurrir hasta una hora, dada la frecuencia con la que el servicio de almacenamiento vacía la escritura de registros. Es posible que haya entradas duplicadas en los registros creados durante la misma hora. Puede determinar si un registro es un duplicado comprobando el número RequestId y Operation.

Si tiene un gran volumen de datos de registro con varios archivos correspondientes a cada hora, puede usar los metadatos del blob para averiguar qué datos contiene el registro (examinando para ello los campos de metadatos del blob). Esto resulta útil también porque, a veces, puede haber un retraso mientras los datos se escriben en los archivos de registro, y es que los metadatos del blob indican el contenido del blob de forma más precisa que el nombre del blob.

La mayoría de las herramientas de exploración del almacenamiento permiten ver los metadatos de los blobs, si bien esta información se puede consultar también con PowerShell o mediante programación. El siguiente fragmento de código de PowerShell es un ejemplo de filtrado de la lista de blobs de registro por nombre para especificar una hora, y por metadatos para identificar únicamente aquellos registros que contengan operaciones de escritura (write).

Get-AzStorageBlob -Container '$logs' |  
Where-Object {  
    $_.Name -match 'blob/2014/05/21/05' -and   
    $_.ICloudBlob.Metadata.LogType -match 'write'  
} |  
ForEach-Object {  
    "{0}  {1}  {2}  {3}" -f $_.Name,   
    $_.ICloudBlob.Metadata.StartTime,   
    $_.ICloudBlob.Metadata.EndTime,   
    $_.ICloudBlob.Metadata.LogType  
}  

Para obtener información sobre cómo mostrar los blobs mediante programación, vea Enumerar recursos de blob y Configurar y recuperar propiedades y metadatos de recursos de blob.

Convenciones de nomenclatura de los registros

Cada registro se escribirá con el siguiente formato:

<service-name>/YYYY/MM/DD/hhmm/<counter>.log

En la siguiente tabla se describe cada atributo del nombre del registro:

Atributo Descripción
<service-name> El nombre del servicio de almacenamiento. Por ejemplo: blob, table o queue
YYYY El año de cuatro dígitos del registro. Por ejemplo: 2011
MM El mes de dos dígitos del registro. Por ejemplo: 07
DD El día de dos dígitos del registro. Por ejemplo: 31
hh La hora de dos dígitos que indica la hora inicial de los registros, en formato UTC de 24 horas. Por ejemplo: 18
mm El número de dos dígitos que indica el minuto inicial de los registros. Nota: Este valor no se admite en la versión actual de Storage Analytics, y su valor será siempre 00.
<counter> Un contador basado en cero con seis dígitos que indica el número de blobs del registro generados para el servicio de almacenamiento en un período de tiempo de una hora. Este contador se inicia en 000000. Por ejemplo: 000001

El siguiente es un nombre completo de registro de ejemplo que combina los ejemplos anteriores:

blob/2011/07/31/1800/000001.log

El siguiente es un URI de ejemplo que se puede utilizar para obtener acceso al registro anterior:

https://<accountname>.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log

Cuando se registra una solicitud de almacenamiento, el nombre del registro resultante depende de la hora en la que se completó la operación solicitada. Por ejemplo, si una solicitud para obtener un blob finalizó a las 6:30 P.M. del 31/7/2011, el registro se escribirá con el siguiente prefijo: blob/2011/07/31/1800/

Metadatos del registro

Todos los blobs del registro se almacenan con metadatos que se pueden utilizar para identificar los datos de registro que contiene el blob. En la siguiente tabla se describe cada atributo de metadatos:

Atributo Descripción
LogType Describe si el registro contiene información relacionada con las operaciones de lectura, escritura o eliminación. Este valor puede incluir un tipo o una combinación de los tres, separados por comas.

Ejemplo 1: write

Ejemplo 2: read,write

Ejemplo 3: read,write,delete
StartTime La primera hora de una entrada en el registro, en formato YYYY-MM-DDThh:mm:ssZ. Por ejemplo: 2011-07-31T18:21:46Z
EndTime La última hora de una entrada en el registro, en formato YYYY-MM-DDThh:mm:ssZ. Por ejemplo: 2011-07-31T18:22:09Z
LogVersion La versión del formato del registro.

En la siguiente lista se muestran los metadatos de ejemplo completos utilizando los ejemplos anteriores:

  • LogType=write
  • StartTime=2011-07-31T18:21:46Z
  • EndTime=2011-07-31T18:22:09Z
  • LogVersion=1.0

Entradas de registro

En las secciones siguientes se muestra una entrada de registro de ejemplo para cada servicio de Azure Storage compatible.

Entrada de registro de ejemplo para Blob Storage

2.0;2022-01-03T20:34:54.4617505Z;PutBlob;SASSuccess;201;7;7;sas;;logsamples;blob;https://logsamples.blob.core.windows.net/container1/1.txt?se=2022-02-02T20:34:54Z&amp;sig=XXXXX&amp;sp=rwl&amp;sr=c&amp;sv=2020-04-08&amp;timeout=901;"/logsamples/container1/1.txt";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53371;2019-12-12;654;13;337;0;13;"xxxxxxxxxxxxxxxxxxxxx==";"xxxxxxxxxxxxxxxxxxxxx==";"&quot;0x8D9CEF88004E296&quot;";Monday, 03-Jan-22 20:34:54 GMT;;"Microsoft Azure Storage Explorer, 1.20.1, win32, azcopy-node, 2.0.0, win32, AzCopy/10.11.0 Azure-Storage/0.13 (go1.15; Windows_NT)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Entrada de registro de ejemplo para Blob Storage (Data Lake Storage Gen2 habilitado)

2.0;2022-01-04T22:50:56.0000775Z;RenamePathFile;Success;201;49;49;authenticated;logsamples;logsamples;blob;"https://logsamples.dfs.core.windows.net/my-container/myfileorig.png?mode=legacy";"/logsamples/my-container/myfilerenamed.png";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;73.157.16.8;2020-04-08;591;0;224;0;0;;;;Friday, 11-Jun-21 17:58:15 GMT;;"Microsoft Azure Storage Explorer, 1.19.1, win32 azsdk-js-storagedatalake/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Entrada de registro de ejemplo para Queue Storage

2.0;2022-01-03T20:35:04.6097590Z;PeekMessages;Success;200;5;5;authenticated;logsamples;logsamples;queue;https://logsamples.queue.core.windows.net/queue1/messages?numofmessages=32&amp;peekonly=true&amp;timeout=30;"/logsamples/queue1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53385;2020-04-08;536;0;232;62;0;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32 azsdk-js-storagequeue/12.3.1 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx";;;;;;;;

Entrada de registro de ejemplo para Table Storage

1.0;2022-01-03T20:35:13.0719766Z;CreateTable;Success;204;30;30;authenticated;logsamples;logsamples;table;https://logsamples.table.core.windows.net/Tables;"/logsamples/Table1";xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx;0;71.197.193.44:53389;2018-03-28;601;22;339;0;22;;;;;;"Microsoft Azure Storage Explorer, 1.20.1, win32, Azure-Storage/2.10.3 (NODE-VERSION v12.16.3; Windows_NT 10.0.22000)";;"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"

Pasos siguientes