Azure Storage Analytics のログAzure Storage analytics logging

Storage Analytics は、ストレージ サービスに対する要求の成功と失敗についての詳細な情報をログに記録します。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 ログの完全性と適時性は保証されないことを意味します。This means that most requests will result in a log record, but the completeness and timeliness of Storage Analytics logs are not guaranteed.

注意

Microsoft では、Storage Analytics ログの代わりに、Azure Monitor の Azure Storage ログを使用することをお勧めしています。We recommend that you use Azure Storage logs in Azure Monitor instead of Storage Analytics logs. Azure Monitor の Azure Storage ログはパブリック プレビュー段階にあり、すべてのパブリック クラウド リージョンでプレビュー テスト用に使用できます。Azure Storage logs in Azure Monitor is in public preview and is available for preview testing in all public cloud regions. このプレビューでは、BLOB (Azure Data Lake Storage Gen2 を含む)、ファイル、キュー、およびテーブルに対してログが有効になります。This preview enables logs for blobs (which includes Azure Data Lake Storage Gen2), files, queues,and tables. 詳細については、以下のいずれかの記事をお読みください。To learn more, see any of the following articles:

既定では、お使いのストレージ アカウントで Storage Analytics のログは有効になっていません。Storage Analytics logging is not enabled by default for your storage account. これは、Azure portal で、または PowerShell や Azure CLI を使用して有効にすることができます。You can enable it in the Azure portal or by using PowerShell, or Azure CLI. ステップ バイ ステップ ガイダンスについては、「Azure Storage Analytics ログを有効にして管理する (クラシック)」を参照してください。For step-by-step guidance, see Enable and manage Azure Storage Analytics logs (classic).

また、プログラムから REST API またはクライアント ライブラリを使用して Storage Analytics ログを有効にすることもできます。You can also enable Storage Analytics logs programmatically via the REST API or the client library. 各サービスで Storage Analytics を有効にするには、Get Blob Service PropertiesGet Queue Service Properties、および Get Table Service Properties の各操作を使用します。Use the Get Blob Service Properties, Get Queue Service Properties, and Get Table Service Properties operations to enable Storage Analytics for each service. .NET を使用して Storage Analytics ログを有効にする例については、ログの有効化に関するページを参照してくださいTo see an example that enables Storage Analytics logs by using .NET, see Enable logs

ログ エントリが作成されるのは、サービス エンドポイントに対して行われた要求がある場合に限られます。Log entries are created only if there are requests made against the service endpoint. たとえば、ストレージ アカウントの BLOB エンドポイントにはアクティビティが存在するが、Table エンドポイントや Queue エンドポイントには存在しない場合、Blob service に関連したログだけが作成されます。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.

注意

現在、Storage Analytics のログは、BLOB、Queue、Table の各サービスでのみ使用できます。Storage Analytics logging is currently available only for the Blob, Queue, and Table services. Storage Analytics のログは、Premium パフォーマンス BlockBlobStorage アカウントでも使用できます。Storage Analytics logging is also available for premium-performance BlockBlobStorage accounts. ただし、Premium パフォーマンスを持つ汎用 v2 アカウントでは使用できません。However, it isn't available for general-purpose v2 accounts with premium performance.

ログで記録される要求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

  • Shared Access Signature (SAS) または OAuth を使用した要求 (失敗した要求と成功した要求を含む)Requests using a Shared Access Signature (SAS) or OAuth, including failed and successful requests

  • データの分析要求Requests to analytics data

    Storage Analytics そのものによる要求 (ログの作成/削除など) は記録されません。Requests made by Storage Analytics itself, such as log creation or deletion, are not logged. ログに記録されるデータの一覧については、「Storage Analytics によって記録される操作およびステータス メッセージ」および「Storage Analytics のログの形式」をご覧ください。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

すべてのログは、Storage Analytics をストレージ アカウントに対して有効にしたときに自動的に作成される $logs という名前のコンテナー内のブロック BLOB に格納されます。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. Storage Analytics を有効にした後は、このコンテナーを削除することはできません。ただし、コンテナーの内容を削除することはできます。This container cannot be deleted once Storage Analytics has been enabled, though its contents can be deleted. ストレージ閲覧ツールを使用して直接コンテナーに移動した場合は、ログ データを含むすべての BLOB が表示されます。If you use your storage-browsing tool to navigate to the container directly, you will see all the blobs that contain your logging data.

注意

コンテナーの一覧作成操作 ( List Containers 操作など) を実行しても、$logs コンテナーは表示されません。The $logs container is not displayed when a container listing operation is performed, such as the List Containers operation. 直接アクセスする必要があります。It must be accessed directly. たとえば、List Blobs 操作を使用して、$logs コンテナー内の BLOB にアクセスできます。For example, you can use the List Blobs operation to access the blobs in the $logs container.

要求がログに記録されると、Storage Analytics は、中間結果をブロックとしてアップロードします。As requests are logged, Storage Analytics will upload intermediate results as blocks. これらのブロックを定期的にコミットし、BLOB として利用できるようにします。Periodically, Storage Analytics will commit these blocks and make them available as a blob. $logs コンテナー内の BLOB にログ データが表示されるまでに最長 1 時間かかる場合があります。これは、ストレージ サービスがログ ライターをフラッシュする頻度が原因です。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. レコードが重複しているかどうかは、RequestIdOperation の数をチェックすることによって確認できます。You can determine if a record is a duplicate by checking the RequestId and Operation number.

複数のファイルに及ぶ大量のログ データが毎時間発生する場合、BLOB メタデータを使用して 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 名を見たときよりも正確に 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 の一覧をフィルタリングする例を示しています。名前でフィルタリングして時間を指定する部分と、メタデータでフィルタリングして write 操作を含むログのみを識別する部分が含まれています。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-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  
}  

プログラムで BLOB を一覧表示する方法については、「Enumerating Blob Resources (Blob リソースの列挙)」と「Setting and Retrieving Properties and Metadata for Blob Resources (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. たとえば、blobtablequeue などがあります。For example: blob, table, or queue
YYYY ログの 4 桁表記の年。The four digit year for the log. 例: 2011For example: 2011
MM ログの 2 桁表記の月。The two digit month for the log. 例: 07For example: 07
DD ログの 2 桁表記の日。The two digit day for the log. 例: 31For example: 31
hh ログの開始時刻 (時) を示す 2 桁の数字 (24 時間制 UTC 形式)。The two digit hour that indicates the starting hour for the logs, in 24 hour UTC format. 例: 18For example: 18
mm ログの開始時刻 (分) を示す 2 桁の数字。The two digit number that indicates the starting minute for the logs. 注: 現在のバージョンの Storage Analytics ではこの値はサポートされず、常に 00 になります。Note: This value is unsupported in the current version of Storage Analytics, and its value will always be 00.
<counter> 1 時間おきにストレージ サービスに対して生成されるログ BLOB の数を示す 0 から始まる 6 桁のカウンター。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. たとえば、GetBlob 要求が 2011 年 7 月 31 日の午後 6 時 30 分に完了した場合、書き込まれるログのプレフィックスは、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

すべてのログ BLOB はメタデータと共に格納されます。このメタデータを使って、BLOB に含まれるログ データを特定できます。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. この値には、操作の種類が 1 つだけ含まれている場合もあれば、3 つすべてがコンマ区切りで記録されている場合もあります。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

次のステップNext steps