Ведение журнала Аналитики Службы хранилища AzureAzure Storage analytics logging

В аналитике хранилища регистрируется подробная информация об успешных и неудачных запросах к службе хранилища.Storage Analytics logs detailed information about successful and failed requests to a storage service. Эта информация может использоваться для мониторинга отдельных запросов и диагностики неполадок в службе хранилища.This information can be used to monitor individual requests and to diagnose issues with a storage service. Запросы вносятся в журнал наилучшим возможным образом.Requests are logged on a best-effort basis.

Ведение журнала "Аналитики Службы хранилища" по умолчанию для учетной записи хранения не предусмотрено.Storage Analytics logging is not enabled by default for your storage account. Это можно сделать на портале Azure. Дополнительные сведения см. в статье Мониторинг учетной записи хранения на портале Azure.You can enable it in the Azure portal; for details, see Monitor a storage account in the Azure portal. Аналитику хранилища также можно включить программно через REST API или клиентскую библиотеку.You can also enable Storage Analytics programmatically via the REST API or the client library. Используйте Свойства получение свойств службы BLOB-объектов, Получение свойств службы очередейи Получение свойств службы таблиц , чтобы включить аналитика службы хранилища для каждой службы.Use the Get Blob Service Properties, Get Queue Service Properties, and Get Table Service Properties operations to enable Storage Analytics for each service.

Записи журнала создаются только при получении запроса к конечной точке службы.Log entries are created only if there are requests made against the service endpoint. Например, если учетная запись хранения имеет действие в конечной точке большого двоичного объекта, но не находится в конечных точках таблицы или очереди, будут созданы только журналы, относящиеся к службе BLOB-объектов.For example, if a storage account has activity in its Blob endpoint but not in its Table or Queue endpoints, only logs pertaining to the Blob service will be created.

Примечание

Ведение журнала Аналитики Службы хранилища доступно только для служб BLOB-объектов, очередей и таблиц.Storage Analytics logging is currently available only for the Blob, Queue, and Table services. При этом учетная запись хранения ценовой категории "Премиум" не поддерживается.However, premium storage account is not supported.

Регистрация в журнале запросовRequests logged in logging

Ведение журналов запросов, прошедших аутентификациюLogging authenticated requests

Регистрируются запросы, прошедшие аутентификацию, следующих типов:The following types of authenticated requests are logged:

  • Успешные запросы.Successful requests

  • Неудачные запросы, в том числе из-за ошибок, связанных с временем ожидания, регулированием, сетью, авторизацией и др.Failed requests, including timeout, throttling, network, authorization, and other errors

  • Запросы, в которых используется подписанный URL-адрес (SAS) или OAuth, в том числе неудачные и успешные запросы.Requests using a Shared Access Signature (SAS) or OAuth, including failed and successful requests

  • Запросы к данным аналитики.Requests to analytics data

    Запросы, выполненные в самой аналитике хранилища, такие как запросы на создание или удаление журнала, не регистрируются.Requests made by Storage Analytics itself, such as log creation or deletion, are not logged. Полный список регистрируемых данных приведен в разделах Операции с протоколированием и сообщения о состоянии аналитики хранилища и Формат журналов аналитики хранилища.A full list of the logged data is documented in the Storage Analytics Logged Operations and Status Messages and Storage Analytics Log Format topics.

Ведение журналов анонимных запросовLogging anonymous requests

Регистрируются анонимные запросы следующих типов:The following types of anonymous requests are logged:

Хранение журналовHow logs are stored

Все журналы хранятся в блочных больших двоичных объектах в контейнере под названием $logs, который автоматически создается при включении аналитики хранилища для учетной записи хранилища.All logs are stored in block blobs in a container named $logs, which is automatically created when Storage Analytics is enabled for a storage account. $logs Контейнер находится в пространстве имен BLOB-объектов учетной записи хранения, например: http://<accountname>.blob.core.windows.net/$logs.The $logs container is located in the blob namespace of the storage account, for example: http://<accountname>.blob.core.windows.net/$logs. После включения аналитики хранилища этот контейнер нельзя удалить, но вы можете удалить его содержимое.This container cannot be deleted once Storage Analytics has been enabled, though its contents can be deleted. Если вы используете средство просмотра хранилища для непосредственного перехода к контейнеру, вы увидите все большие двоичные объекты, содержащие данные журнала.If you use your storage-browsing tool to navigate to the container directly, you will see all the blobs that contain your logging data.

Примечание

$logs Контейнер не отображается при выполнении операции перечисления контейнеров, например в операции List Containers.The $logs container is not displayed when a container listing operation is performed, such as the List Containers operation. Доступ к нему можно получить только непосредственно.It must be accessed directly. Например, для доступа к BLOB-объектам в $logs контейнере можно использовать операцию "список больших двоичных объектов".For example, you can use the List Blobs operation to access the blobs in the $logs container.

По мере регистрации запросов в аналитике хранилища промежуточные результаты передаются в качестве блоков.As requests are logged, Storage Analytics will upload intermediate results as blocks. Периодически эти блоки фиксируются в аналитике хранилища и к ним предоставляется доступ как к большим двоичным объектам.Periodically, Storage Analytics will commit these blocks and make them available as a blob. Для отображения данных журнала в больших двоичных объектах в контейнере $logs может потребоваться до часа, поскольку частота, с которой служба хранилища очищает модули записи журнала.It can take up to an hour for log data to appear in the blobs in the $logs container because the frequency at which the storage service flushes the log writers. В журналах, созданных в один и тот же час, могут присутствовать повторяющиеся записи.Duplicate records may exist for logs created in the same hour. Вы можете определить, является ли запись двойной, проверив идентификатор запроса RequestId и номер операции.You can determine if a record is a duplicate by checking the RequestId and Operation number.

Если каждый час появляется большой объем данных журнала в нескольких файлах, то для определения того, какие данные должны содержаться в журнале, следует руководствоваться метаданными blob-объектов в полях метаданных.If you have a high volume of log data with multiple files for each hour, then you can use the blob metadata to determine what data the log contains by examining the blob metadata fields. Этот прием также полезен по той причине, что иногда при записи данных в файл журнала имеет место задержка. Метаданные содержат более точные сведения о содержимом blob-объекта, чем имя blob-объекта.This is also useful because there can sometimes be a delay while data is written to the log files: the blob metadata gives a more accurate indication of the blob content than the blob name.

Большая часть средств обзора позволяет просматривать метаданные blob-объектов; кроме того, эти сведения также можно считывать с использованием оболочки PowerShell или программным способом.Most storage browsing tools enable you to view the metadata of blobs; you can also read this information using PowerShell or programmatically. Следующий фрагмент команды PowerShell является примером фильтрации списка blob-объектов журнала по имени для указания времени, а также по метаданным с целью определения только тех журналов. которые содержат операции записи.The following PowerShell snippet is an example of filtering the list of log blobs by name to specify a time, and by metadata to identify just those logs that contain write operations.

Get-AzureStorageBlob -Container '$logs' |  
Where-Object {  
    $_.Name -match 'table/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  
}  

Сведения о получении списка BLOB-объектов программным путем см. в разделе перечисление ресурсов BLOB-объектов и Установка и получение свойств и метаданных для ресурсов BLOB-объектов.For information about listing blobs programmatically, see Enumerating Blob Resources and Setting and Retrieving Properties and Metadata for Blob Resources.

Соглашения об именовании журналовLog naming conventions

Каждый журнал записывается в следующем формате:Each log will be written in the following format:

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

В следующей таблице описан каждый атрибут в имени журнала.The following table describes each attribute in the log name:

АтрибутAttribute ОписаниеDescription
<service-name> имя службы хранилища.The name of the storage service. Например: blob, tableилиqueueFor example: blob, table, or queue
YYYY Четырехзначное обозначение года создания журнала.The four digit year for the log. Пример: 2011For example: 2011
MM Двухзначное обозначение месяца создания журнала.The two digit month for the log. Пример: 07For example: 07
DD Двухзначное обозначение дня создания журнала.The two digit day for the log. Пример: 31For example: 31
hh Двухзначное обозначение часа, которое указывает час начала ведения журнала, в 24-часовом формате времени UTC.The two digit hour that indicates the starting hour for the logs, in 24 hour UTC format. Пример: 18For example: 18
mm Двухзначное обозначение минуты, которое указывает минуту начала ведения журнала.The two digit number that indicates the starting minute for the logs. Примечание. Это значение не поддерживается в текущей версии Аналитика Службы хранилища, и его значение всегда будет равно 00.Note: This value is unsupported in the current version of Storage Analytics, and its value will always be 00.
<counter> Шестизначный счетчик с отсчетом от нуля, который показывает количество больших двоичных объектов журнала, созданных для службы хранилища в течение часа.A zero-based counter with six digits that indicates the number of log blobs generated for the storage service in an hour time period. Этот счетчик начинается с 000000.This counter starts at 000000. Пример: 000001For example: 000001

Ниже приведено полное имя журнала, в котором представлены вместе все упомянутые примеры.The following is a complete sample log name that combines the above examples:

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

Ниже приведен пример URI, который может использоваться для получения доступа к указанному журналу.The following is a sample URI that can be used to access the above log:

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

При регистрации запроса хранилища имя результирующего журнала сопоставляется с часом завершения запрошенной операции.When a storage request is logged, the resulting log name correlates to the hour when the requested operation completed. Например, если запрос к большому двоичному объекту был выполнен в 6:30 на 7/31/2011, то журнал будет записан со следующим префиксом:blob/2011/07/31/1800/For example, if a GetBlob request was completed at 6:30PM on 7/31/2011, the log would be written with the following prefix: blob/2011/07/31/1800/

Метаданные журналаLog metadata

Все большие двоичные объекты журнала хранятся с метаданными, с помощью которых можно определить, какие данные журнала содержит большой двоичный объект.All log blobs are stored with metadata that can be used to identify what logging data the blob contains. В следующей таблице описан каждый атрибут метаданных.The following table describes each metadata attribute:

АтрибутAttribute ОписаниеDescription
LogType Описывает, содержит ли журнал информацию, относящуюся к операциям чтения, записи или удаления.Describes whether the log contains information pertaining to read, write, or delete operations. Это значение может содержать данные одного типа или сочетание всех трех типов данных, разделенных запятыми.This value can include one type or a combination of all three, separated by commas.

Пример 1: writeExample 1: write

Пример 2: read,writeExample 2: read,write

Пример 3.read,write,deleteExample 3: read,write,delete
StartTime Время первой записи в журнале в форме YYYY-MM-DDThh:mm:ssZ.The earliest time of an entry in the log, in the form of YYYY-MM-DDThh:mm:ssZ. Пример: 2011-07-31T18:21:46ZFor example: 2011-07-31T18:21:46Z
EndTime Время самой последней записи в журнале в форме YYYY-MM-DDThh:mm:ssZ.The latest time of an entry in the log, in the form of YYYY-MM-DDThh:mm:ssZ. Пример: 2011-07-31T18:22:09ZFor example: 2011-07-31T18:22:09Z
LogVersion Версия формата журнала.The version of the log format.

В следующем списке отображается полный образец метаданных, в котором используются приведенные выше примеры.The following list displays complete sample metadata using the above examples:

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

Включение ведения журнала хранилищаEnable Storage logging

Ведение журнала хранилища можно включить с помощью портал Azure, PowerShell и пакетов SDK для службы хранилища.You can enable Storage logging with Azure portal, PowerShell, and Storage SDKs.

Включение ведения журнала хранилища с помощью портал AzureEnable Storage logging using the Azure portal

В портал Azure используйте колонку параметры диагностики (классическая модель) для управления ведением журнала хранилища, доступного из раздела мониторинг (классическая модель) в колонке менюучетной записи хранения.In the Azure portal, use the Diagnostics settings (classic) blade to control Storage Logging, accessible from the Monitoring (classic) section of a storage account's Menu blade.

Вы можете указать службы хранилища, которые требуется заносить в журнал, и срок хранения записанных данных (в днях).You can specify the storage services that you want to log, and the retention period (in days) for the logged data.

Включение ведения журнала хранилища с помощью PowerShellEnable Storage logging using PowerShell

Чтобы настроить ведение журнала хранилища для учетной записи хранения можно использовать оболочку PowerShell на локальном компьютере, выполнив командлет Azure PowerShell Get-AzureStorageServiceLoggingProperty для получения текущих настроек и командлет Set-AzureStorageServiceLoggingProperty для их изменения.You can use PowerShell on your local machine to configure Storage Logging in your storage account by using the Azure PowerShell cmdlet Get-AzureStorageServiceLoggingProperty to retrieve the current settings, and the cmdlet Set-AzureStorageServiceLoggingProperty to change the current settings.

В командлетах, позволяющих управлять ведением журнала хранилища, используется параметр LoggingOperations, представляющий собой строку, содержащую разделенный запятыми список типов запросов, подлежащих занесению в журнал.The cmdlets that control Storage Logging use a LoggingOperations parameter that is a string containing a comma-separated list of request types to log. Всего используются запросы трех типов - чтение, запись и удаление.The three possible request types are read, write, and delete. Чтобы отключить ведение журнала, укажите в параметре LoggingOperations значение none.To switch off logging, use the value none for the LoggingOperations parameter.

Следующая команда переключается на ведение журнала запросов на чтение, запись и удаление в служба очередей в учетной записи хранения по умолчанию с сроком хранения в 5 дней.The following command switches on logging for read, write, and delete requests in the Queue service in your default storage account with retention set to five days:

Set-AzureStorageServiceLoggingProperty -ServiceType Queue -LoggingOperations read,write,delete -RetentionDays 5  

Следующая команда отключает ведение журнала для службы таблиц в учетной записи по умолчанию:The following command switches off logging for the table service in your default storage account:

Set-AzureStorageServiceLoggingProperty -ServiceType Table -LoggingOperations none  

Дополнительные сведения о настройке командлетов Azure PowerShell для работы с подпиской Azure и о выборе учетной записи хранения по умолчанию см. в разделе Установка и настройка Azure PowerShell.For information about how to configure the Azure PowerShell cmdlets to work with your Azure subscription and how to select the default storage account to use, see: How to install and configure Azure PowerShell.

Программное включение ведения журнала хранилищаEnable Storage logging programmatically

Кроме использования портал Azure или командлетов Azure PowerShell для управления ведением журнала хранилища можно также использовать один из интерфейсов API службы хранилища Azure.In addition to using the Azure portal or the Azure PowerShell cmdlets to control Storage Logging, you can also use one of the Azure Storage APIs. Например, если используется язык .NET, можно использовать клиентскую библиотеку хранилища.For example, if you are using a .NET language you can use the Storage Client Library.

QueueServiceClient queueServiceClient = new QueueServiceClient(connectionString);

QueueServiceProperties serviceProperties = queueServiceClient.GetProperties().Value;

serviceProperties.Logging.Delete = true;

QueueRetentionPolicy retentionPolicy = new QueueRetentionPolicy();
retentionPolicy.Enabled = true;
retentionPolicy.Days = 2;
serviceProperties.Logging.RetentionPolicy = retentionPolicy;

serviceProperties.HourMetrics = null;
serviceProperties.MinuteMetrics = null;
serviceProperties.Cors = null;

queueServiceClient.SetProperties(serviceProperties);

Дополнительные сведения об использовании языка .NET для настройки ведения журнала хранилища см. в статье Справочник по клиентской библиотеке хранилища.For more information about using a .NET language to configure Storage Logging, see Storage Client Library Reference.

Общие сведения о настройке ведения журнала хранилища с помощью REST API см. в разделе Включение и настройка аналитика службы хранилища.For general information about configuring Storage Logging using the REST API, see Enabling and Configuring Storage Analytics.

Загрузка данных журнала хранилищаDownload Storage logging log data

Для просмотра и анализа данных журнала необходимо загрузить blob-объекты, содержащие требуемые данные журнала, на локальный компьютер.To view and analyze your log data, you should download the blobs that contain the log data you are interested in to a local machine. Многие средства обзора хранилища позволяют скачивать большие двоичные объекты из учетной записи хранения. Вы также можете загрузить данные журнала с помощью команды службы хранилища Azure, предоставленной в командной строке AzCopy .Many storage-browsing tools enable you to download blobs from your storage account; you can also use the Azure Storage team provided command-line Azure Copy Tool AzCopy to download your log data.

Примечание

Контейнер $logs не интегрирован со службой "Сетка событий", поэтому вы не будете получать уведомления при записи файлов журнала.The $logs container isn't integrated with Event Grid, so you won't receive notifications when log files are written.

Чтобы загрузить только требуемые данные и избежать повторной загрузки тех же данных журнала, сделайте следующее.To make sure you download the log data you are interested in and to avoid downloading the same log data more than once:

  • Примените соглашение об именовании по дате и времени к blob-объектам, чтобы отслеживать, какие из них уже были загружены для анализа и предотвратить повторную загрузку данных.Use the date and time naming convention for blobs containing log data to track which blobs you have already downloaded for analysis to avoid re-downloading the same data more than once.

  • С помощью метаданных о blob-объектах, содержащих данные журнала, можно определить конкретный период, которому соответствуют содержащиеся в blob-объекте данные журнала. Это позволяет найти требуемый blob-объект.Use the metadata on the blobs containing log data to identify the specific period for which the blob holds log data to identify the exact blob you need to download.

Чтобы приступить к работе с AzCopy, см. статью Начало работы с AzCopy .To get started with AzCopy, see Get started with AzCopy

Следующий пример показывает, каким образом можно загрузить данные журнала для службы очереди, время начала которых соответствует 9:00, 10:00 и 11:00 20 мая 2014 г.The following example shows how you can download the log data for the queue service for the hours starting at 09 AM, 10 AM, and 11 AM on 20th May, 2014.

azcopy copy 'https://mystorageaccount.blob.core.windows.net/$logs/queue' 'C:\Logs\Storage' --include-path '2014/05/20/09;2014/05/20/10;2014/05/20/11' --recursive

Дополнительные сведения о загрузке конкретных файлов см. в разделе Загрузка конкретных файлов.To learn more about how to download specific files, see Download specific files.

После загрузки данных журнала можно просматривать записи журнала в файлах. When you have downloaded your log data, you can view the log entries in the files. В этих файлах журнала используется текстовый формат с разделителями, в котором могут анализироваться многие средства чтения журнала, включая анализатор сообщений Майкрософт (Дополнительные сведения см. в разделе Руководство по мониторингу, диагностике и устранению неполадок служба хранилища Microsoft Azure).These log files use a delimited text format that many log reading tools are able to parse, including Microsoft Message Analyzer (for more information, see the guide Monitoring, Diagnosing, and Troubleshooting Microsoft Azure Storage). Такие средства предоставляют различные возможности форматирования, фильтрации, сортировки и поиска содержимого файлов журнала.Different tools have different facilities for formatting, filtering, sorting, ad searching the contents of your log files. Дополнительные сведения о формате и содержимом журнала ведения журнала в хранилище см. в статьях аналитика службы хранилища формат журнала и аналитика службы хранилища записанные операции и сообщения о состоянии.For more information about the Storage Logging log file format and content, see Storage Analytics Log Format and Storage Analytics Logged Operations and Status Messages.

Дальнейшие шагиNext steps