format de journal Storage Analytics
Storage Analytics journalisation enregistre les détails des demandes réussies et ayant échoué pour votre compte de stockage. Storage Analytics journaux vous permettent de passer en revue les détails des opérations de lecture, d’écriture et de suppression sur vos tables, files d’attente et objets blob Azure. Ils vous permettent également d’examiner les raisons de l’échec des demandes, telles que les délais d’expiration, la limitation et les erreurs d’autorisation.
Chaque entrée de journal est conforme à un format de journal standard régi par la version de Storage Analytics journalisation utilisée. La version 1.0 inclut tous les champs décrits au format d’entrée du journal 1.0. La version 2.0 ajoute des champs pour la journalisation des informations sur les demandes aux services Blob et File d’attente autorisés avec un jeton OAuth 2.0. Ces champs supplémentaires sont décrits au format d’entrée de journal 2.0.
Le premier champ dans une entrée de journal spécifie toujours le numéro de version. Les consommateurs des données de journalisation peuvent établir une dépendance sur ce champ ainsi que sur les aspects suivants d'une entrée de journal :
Tous les champs, remplis ou vides, seront séparés par un point-virgule « ; »
Chaque entrée de journal est séparée par un caractère de nouvelle ligne « \n »
Le dernier champ de l’entrée ne se termine pas par un point-virgule « ; »
Vérifiez toujours la version avant de traiter une entrée de journal.
Notes
Tout champ qui peut contenir un guillemet (« ), un point-virgule (;) ou une nouvelle ligne (\n) est encodé et entre guillemets HTML.
Définir la version de journalisation
Pour définir la version de journalisation, appelez l’opération appropriée pour le service :
- Service Blob :Définir les propriétés du service Blob (prend en charge les versions 1.0 et 2.0)
- Service de file d’attente :Définir les propriétés du service de file d’attente (prend en charge les versions 1.0 et 2.0)
- Service de table :Définir les propriétés du service de table (prend en charge la version 1.0 uniquement)
Format d’entrée de journal 1.0
Chaque entrée de journal de la version du 1.0 adhère au format suivant :
<version-number>;<request-start-time>;<operation-type>;<request-status>;<http-status-code>;<end-to-end-latency-in-ms>;<server-latency-in-ms>;<authentication-type>;<requester-account-name>;<owner-account-name>;<service-type>;<request-url>;<requested-object-key>;<request-id-header>;<operation-count>;<requester-ip-address>;<request-version-header>;<request-header-size>;<request-packet-size>;<response-header-size>;<response-packet-size>;<request-content-length>;<request-md5>;<server-md5>;<etag-identifier>;<last-modified-time>;<conditions-used>;<user-agent-header>;<referrer-header>;<client-request-id>
Champs d’entrée de journal pour la version 1.0
Le tableau suivant répertorie et définit les champs d’une entrée de journal version 1.0.
Nom du champ | Type de champ | Définition | Exemple |
---|---|---|---|
<version-number> |
string | Version de Storage Analytics journalisation utilisée pour enregistrer l’entrée. | 1.0 |
<request-start-time> |
timestamp | L'heure UTC de réception de la demande par Storage Analytics. | 2011-08-09T21:44:36.2481552Z |
<operation-type> |
string | Type d'opération REST exécutée. Pour obtenir la liste des opérations possibles, consultez la rubrique Opérations journalisées et messages d’état Storage Analytics. | GetBlob |
<request-status> |
string | Statut de l’opération demandée. Consultez la rubrique Opérations journalisées et messages d’état Storage Analytics pour obtenir la liste des messages status possibles. Dans les versions 2017-04-17 et ultérieures, ClientOtherError n’est pas utilisé. Au lieu de cela, ce champ contient le code d’erreur. |
Success |
<http-status-code> |
string | Code d’état HTTP pour la demande. Si la demande est interrompue, cette valeur peut être définie à Unknown . |
200 |
<end-to-end-latency-in-ms> |
duration | La durée totale en millisecondes pour exécuter l'opération demandée, notamment le temps nécessaire à la lecture de la demande entrante et à l'envoi de la réponse au demandeur. | 39 |
<server-latency-in-ms> |
duration | La durée totale en millisecondes pour exécuter l'opération demandée. Cette valeur ne doit pas comprendre la latence réseau (le temps nécessaire à la lecture de la demande entrante et à l'envoi de la réponse au demandeur). | 22 |
<authentication-type> |
string | Indique si la demande a été autorisée, anonyme ou utilisée signature d’accès partagé (SAP). | authenticated |
<requester-account-name> |
string | Identique au nom du compte de stockage, si la demande est autorisée. Ce champ est vide pour les demandes anonymes et SAS. | myaccount |
<owner-account-name> |
string | Le nom du compte du propriétaire du service. | myaccount |
<service-type> |
string | Le service de stockage demandé : BLOB, de Table ou de File d'attente. | blob |
<request-url> |
string | L'URL complète de la demande, entre guillemets. | "https://myaccount.blob.core.windows.net/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034?timeout=30000" |
<requested-object-key> |
string | La clé de l'objet demandé, entre guillemets. Ce champ utilisera toujours le nom du compte, même si un nom de domaine personnalisé a été configuré. | "/myaccount/mycontainer/2025c44c-d25e-42bf-8507-7a5ca4faa034" |
<request-id-header> |
guid | L'ID de demande affecté par le service de stockage. Cela équivaut à la valeur de l'en-tête x-ms-request-id . |
668a4744-7eb3-4e8f-b8d3-fbfd3829715b |
<operation-count> |
int | Le numéro de chaque opération enregistrée pour une demande, avec un index de zéro. Certaines demandes nécessitent plusieurs opérations, par exemple Copy Blob, toutefois la plupart exécute une seule opération. | 0 |
<requester-ip-address> |
string | Adresse IP du demandeur, numéro de port inclus. | 192.100.0.102:4362 |
<request-version-header> |
string | La version du service de stockage spécifiée lorsque la demande a été effectuée. Cela équivaut à la valeur de l'en-tête x-ms-version . |
2009-09-19 |
<request-header-size> |
long | La taille de l'en-tête de demande, en octets. Si une demande n’aboutit pas, cette valeur peut être vide. | 280 |
<request-packet-size> |
long | La taille des paquets de demande lus par le service de stockage, en octets. Si une demande n’aboutit pas, cette valeur peut être vide. | 0 |
<response-header-size> |
long | La taille de l'en-tête de réponse, en octets. Si une demande n’aboutit pas, cette valeur peut être vide. | 216 |
<response-packet-size> |
long | Taille des paquets de réponse écrits par le service de stockage, en octets. Si une demande n’aboutit pas, cette valeur peut être vide. | 0 |
<request-content-length> |
long | La valeur de l'en-tête Content-Length pour la demande envoyée au service de stockage. Si la demande réussit, cette valeur est égale à <request-packet-size> . Si une demande n'aboutit pas, cette valeur peut ne pas être égale à <request-packet-size> , ou être vide. |
0 |
<request-md5> |
string | La valeur de l'en-tête Content-MD5 ou de l'en-tête x-ms-content-md5 dans la demande, entre guillemets. La valeur de hachage MD5 spécifiée dans ce champ représente le contenu dans la demande. Ce champ peut être vide. | "788815fd0198be0d275ad329cafd1830" |
<server-md5> |
string | La valeur du hachage MD5 calculée par le service de stockage, entre guillemets. Ce champ peut être vide. | "3228b3cf1069a5489b298446321f8521" |
<etag-identifier> |
string | Identificateur de l’ETag pour l’objet retourné, entre guillemets. | "0x8D101F7E4B662C4" |
<last-modified-time> |
DATETIME | L'heure de la dernière modification (LMT) pour l'objet retourné, entre guillemets. Ce champ est vide pour les opérations qui peuvent retourner plusieurs objets. | Tuesday, 09-Aug-11 21:13:26 GMT |
<conditions-used> |
string | Liste séparée par des points-virgules sous la forme , ConditionName=value entre guillemets.
ConditionName peut être l’une des conditions suivantes :- If-Modified-Since - If-Unmodified-Since - If-Match - If-None-Match |
"If-Modified-Since=Friday, 05-Aug-11 19:11:54 GMT" |
<user-agent-header> |
string | La valeur d'en-tête User-Agent , entre guillemets. |
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)" |
<referrer-header> |
string | La valeur d'en-tête Referer , entre guillemets. |
"http://contoso.com/about.html" |
<client-request-id> |
string | La valeur d'en-tête x-ms-client-request-id incluse dans la demande, entre guillemets. |
"8/9/2011 9:44:36 PM 45ef1c0f-8c71-4153-bc88-38589f63fbfc" |
Exemples d’entrées de journal pour la version 1.0
Get Blob
L'exemple d'entrée de journal suivant s'applique à une demande GetBlob anonyme :
1.0;2014-06-19T22:59:23.1967767Z;GetBlob;AnonymousSuccess;200;17;16;anonymous;;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container1/00001.txt";"/storagesample/sample-container1/00001.txt";61d2e3f6-bcb7-4cd1-a81e-4f8f497f0da2;0;192.100.0.102:4362;2014-02-14;283;0;354;23;0;;;""0x8D15A2913C934DE"";Thursday, 19-Jun-14 22:58:10 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"44dfd78e-7288-4898-8f70-c3478983d3b6"
Put Blob
L’exemple d’entrée de journal suivant s’applique à une demande PutBlob autorisée :
1.0;2014-06-19T01:33:54.0926521Z;PutBlob;Success;201;197;54;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container1/00001.txt";"/storagesample/sample-container1/00001.txt";a200be85-1c98-4dd9-918e-f13d8c0538e0;0;192.100.0.102:4362;2014-02-14;460;23;225;0;23;"DrPO6z1f00SCsomhaf+J/A==";"DrPO6z1f00SCsomhaf+J/A==";""0x8D15975AA456EA4"";Thursday, 19-Jun-14 01:33:53 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"1fe6814a-e4cb-4195-a3cf-837dc7120f68"
Copie d'un objet blob
Les exemples d’entrées de journal suivants s’appliquent à une requête CopyBlob autorisée. L’opération Copier l’objet blob journalisera 3 opérations : CopyBlob, CopyBlobSource et CopyBlobDestination. Notez que la propriété d'ID de demande est identique pour ces trois opérations, mais que l'ID d'opération est incrémenté pour chaque opération.
Service Version 2012-02-12 et ultérieure
À partir de la version du 12/02/2012, <requested-object-key>
est une URL qui remplace le format /accountname/containername/blobname
utilisé dans les versions antérieures au 12/02/2012.
L'ID de demande et l'ID d'opération sont en gras pour chaque entrée de journal ci-dessous :
1.0;2014-06-19T23:31:36.5780954Z;CopyBlob;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"/storagesample/sample-container/Copy-sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;0;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;""0x8D15A2DBF11553E"";Thursday, 19-Jun-14 23:31:36 GMT;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"
1.0;2014-06-19T23:31:36.5780954Z;CopyBlobSource;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"https://storagesample.blob.core.windows.net/sample-container/sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;1;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;;;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"
1.0;2014-06-19T23:31:36.5780954Z;CopyBlobDestination;Success;202;13;13;authenticated;storagesample;storagesample;blob;"https://storagesample.blob.core.windows.net/sample-container/Copy-sample-blob.txt";"/storagesample/sample-container/Copy-sample-blob.txt";505fc366-688f-4622-bbb1-20e8fc26cffd;2;192.100.0.102:4362;2014-02-14;538;0;261;0;0;;;;;;"WA-Storage/4.0.1 (.NET CLR 4.0.30319.34014; Win32NT 6.3.9600.0)";;"dc00da87-5483-4524-b0dc-d1df025a6a9a"
Versions de service antérieures à 2012-02-12
L'ID de demande et l'ID d'opération sont en gras pour chaque entrée de journal ci-dessous :
1.0;2011-08-09T18:02:40.6526789Z;CopyBlob;Success;201;28;28;authenticated;account8ce1b67a9e80b35;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lakebck.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;0;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;"0x8CE1B67AD473BC5";Friday, 09-Aug-11 18:02:40 GMT;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"
1.0;2011-08-09T18:02:40.6526789Z;CopyBlobSource;Success;201;28;28;authenticated;myaccount;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lake.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;1;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;;;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"
1.0;2011-08-09T18:02:40.6526789Z;CopyBlobDestination;Success;201;28;28;authenticated;myaccount;myaccount;blob;"https://myaccount.blob.core.windows.net/thumbnails/lake.jpg?timeout=30000";"/myaccount/thumbnails/lakebck.jpg";85ba10a5-b7e2-495e-8033-588e08628c5d;2;268.20.203.21:4362;2009-09-19;505;0;188;0;0;;;;;;;;"8/9/2011 6:02:40 PM 683803d3-538f-4ba8-bc7c-24c83aca5b1a"
Format d’entrée de journal 2.0
Storage Analytics format de journalisation version 2.0 ajoute des champs pour prendre en charge les informations de journalisation sur les demandes autorisées avec un jeton OAuth 2.0 fourni par Microsoft Entra ID. Pour plus d’informations, consultez Authentifier avec Microsoft Entra ID.
Chaque entrée de journal de version 2.0 respecte le format suivant :
<version-number>;<request-start-time>;<operation-type>;<request-status>;<http-status-code>;<end-to-end-latency-in-ms>;<server-latency-in-ms>;<authentication-type>;<requester-account-name>;<owner-account-name>;<service-type>;<request-url>;<requested-object-key>;<request-id-header>;<operation-count>;<requester-ip-address>;<request-version-header>;<request-header-size>;<request-packet-size>;<response-header-size>;<response-packet-size>;<request-content-length>;<request-md5>;<server-md5>;<etag-identifier>;<last-modified-time>;<conditions-used>;<user-agent-header>;<referrer-header>;<client-request-id>;<user-object-id>;<tenant-id>;<application-id>;<audience>;<issuer>;<user-principal-name>;<reserved-field>;<authorization-detail>
Champs d’entrée de journal pour la version 2.0
Le tableau suivant répertorie et définit les champs supplémentaires écrits dans une entrée de journal de version 2.0. Tous les champs de version 1.0 sont inclus dans les entrées de journal de la version 2.0.
Nom du champ | Type de champ | Définition | Exemple |
---|---|---|---|
UserObjectId | string | ID d’objet utilisé pour l’authentification. Il peut s’agir de n’importe quel principal de sécurité, y compris un utilisateur, une identité managée ou un principal de service. | 03124200-da00-4aa6-aa09-be77923d7870 |
TenantId | string | ID de locataire utilisé dans l’autorisation du porteur. | 72f988bf-86f1-41af-91ab-2d7cd011db47 |
ApplicationId | string | ID d’application utilisé dans l’autorisation du porteur. | 2cd20493-fe97-42ef-9ace-ab95b63d82c4 |
ID de ressource | string | ID de ressource utilisé dans l’autorisation du porteur. | https://storage.azure.com https://storagesamples.blob.core.windows.net |
Émetteur | string | Émetteur utilisé dans l’autorisation du porteur. | https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/ |
UserPrincipalName | string | Nom d’utilisateur principal utilisé dans l’autorisation du porteur. | testuser@azure.onmicrosoft.com |
Réservé | string | Réservé pour un usage futur. La valeur est une chaîne vide. | N/A |
AuthorizationDetail | string | Informations de stratégie détaillées utilisées pour autoriser la demande. | [{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/read", "roleAssignmentId":"/subscriptions/5451a164-d870-4626-a64c-c38d62da20da/providers/Microsoft.Authorization/roleAssignments/6632a082-9b6a-486c-b296-f9d785d32800", "roleDefinitionId":"/subscriptions/5451a164-d870-4626-a64c-c38d62da20da/providers/Microsoft.Authorization/roleDefinitions/ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"03124200-da00-4aa6-aa09-be77923d7870", "principalType":"ServicePrincipal"}] |
Exemples d’entrées de journal pour la version 2.0
List Blobs
2.0;2019-02-25T20:06:55.9794046Z;ListBlobs;OAuthSuccess;200;250;46;bearer;storagesamples;storagesamples;blob;"https://storagesamples.blob.core.windows.net/sample-container?restype=container&comp=list&prefix=&delimiter=/&marker=&maxresults=30&include=metadata&_=1551125215793";"/storagesamples/sample-container";470b9e55-201e-0137-5c45-cdd293000000;0;200.59.21.176:52659;2018-03-28;2682;0;295;5184;0;;;;;;"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763";"blob:https://ms.portal.azure.com/cf576432-66ab-4ae6-9cb3-4852b1137a21";;"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7";"72f988bf-86f1-41af-91ab-2d7cd011db47";"691458b9-1327-4635-9f55-ed83a7f1b41c";"https://storage.azure.com/";"https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/";;;"[{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read", "roleAssignmentId":"ca8af92a-6708-4cdf-a678-bb55d0ff7b80", "roleDefinitionId":"ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7", "principalType":"User"}]"
Put Block
2.0;2019-02-25T20:06:55.9089848Z;PutBlock;OAuthSuccess;201;95;95;bearer;storagesamples;storagesamples;blob;"https://storagesamples.blob.core.windows.net/sample-container/blob1.txt?comp=block&blockid=YmxvY2stMDAwMDAwMDA=";"/storagesamples/sample-container/blob1.txt";5569fa10-e01e-00c0-2745-cdb22d000000;0;200.59.21.176:52665;2017-11-09;2581;9;365;0;9;;"tdzGO9AaJte/e2HJZLtXig==";;;;"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763";"https://ms.portal.azure.com/";"c808142e-0393-4942-9001-af4833061026";"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7";"72f988bf-86f1-41af-91ab-2d7cd011db47";"691458b9-1327-4635-9f55-ed83a7f1b41c";"https://storage.azure.com/";"https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/";;;"[{"action":"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write", "roleAssignmentId":"ca8af92a-6708-4cdf-a678-bb55d0ff7b80", "roleDefinitionId":"ba92f5b4-2d11-453d-a403-e96b0029c9fe", "principalId":"e5981635-dcf0-4279-ab7b-ca1cbdf4a5c7", "principalType":"User"}]"
Voir aussi
À propos de la journalisation Storage Analytics
Opérations et messages d'état enregistrés Storage Analytics