Partager via


Accès aux journaux de diagnostic pour Azure Data Lake Storage Gen1

Découvrez comment activer la journalisation des diagnostics pour votre compte Azure Data Lake Storage Gen1 et comment afficher les journaux collectés pour votre compte.

Les organisations peuvent activer la journalisation des diagnostics pour leur compte Azure Data Lake Storage Gen1 afin de collecter des pistes d’audit d’accès aux données qui fournissent des informations telles que la liste des utilisateurs accédant aux données, la fréquence d’accès aux données, la quantité de données stockées dans le compte, etc. En cas d’activation, les diagnostics et/ou les requêtes sont enregistrés de manière optimale. Les entrées de journal des requêtes et des diagnostics sont créées uniquement si des demandes sont effectuées sur le point de terminaison de service.

Conditions préalables

Activer la journalisation des diagnostics pour votre compte Data Lake Storage Gen1

  1. Connectez-vous au nouveau portail Azure .

  2. Ouvrez votre compte Data Lake Storage Gen1 et, dans le volet de votre compte Data Lake Storage Gen1, cliquez sur paramètres de diagnostic.

  3. Dans le panneau Paramètres de diagnostic, cliquez sur Activer les diagnostics.

    Capture d’écran du compte Data Lake Storage Gen1 avec l’option Paramètre de diagnostic et l’option Activer les diagnostics mise en évidence.

  4. Dans le panneau Paramètres de diagnostic, apportez les modifications suivantes pour configurer la journalisation des diagnostics.

    Capture d’écran de la section des paramètres de diagnostic, avec la zone de texte pour le nom et l’option Enregistrer surlignée.

    • Pour Nom, entrez une valeur pour la configuration du journal de diagnostic.

    • Vous pouvez choisir de stocker/traiter les données de différentes manières.

      • Sélectionnez l’option permettant de Archiver dans un compte de stockage pour stocker les journaux d’activité dans un compte de stockage Azure. Vous utilisez cette option si vous souhaitez archiver les données qui seront traitées par lots à une date ultérieure. Si vous sélectionnez cette option, vous devez fournir un compte de stockage Azure dans lequel enregistrer les journaux.

      • Sélectionnez l’option Diffuser vers un hub d’événements pour transférer les données de log vers un Event Hub Azure. Vous utiliserez vraisemblablement cette option si vous disposez d’un pipeline de traitement en aval pour analyser les logs entrants en temps réel. Si vous sélectionnez cette option, vous devez fournir les détails d’Azure Event Hub que vous souhaitez utiliser.

      • Sélectionnez l’option permettant de Envoyer à Log Analytics pour utiliser le service Azure Monitor pour analyser les données de journal générées. Si vous sélectionnez cette option, vous devez fournir les détails de l’espace de travail Log Analytics que vous utiliseriez pour effectuer l’analyse des journaux. Consultez Afficher ou analyser les données collectées avec la recherche de journaux Azure Monitor pour plus d’informations sur l’utilisation des journaux Azure Monitor.

    • Spécifiez si vous souhaitez obtenir des journaux d’audit, des journaux de requêtes, ou bien les deux.

    • Spécifiez le nombre de jours pendant lesquels les données doivent être conservées. La rétention s’applique uniquement si vous utilisez un compte de stockage Azure pour archiver les données du journal.

    • Cliquez sur Enregistrer.

Une fois que vous avez activé les paramètres de diagnostic, vous pouvez consulter les journaux dans l’onglet Journaux de diagnostic.

Afficher les journaux de diagnostic de votre compte Data Lake Storage Gen1

Il existe deux façons d’afficher les données de journal pour votre compte Data Lake Storage Gen1.

  • À partir de l’affichage des paramètres du compte Data Lake Storage Gen1
  • À partir du compte stockage Azure où les données sont stockées

Utilisation de la vue des paramètres de stockage Data Lake Gen1

  1. À partir de votre compte Data Lake Storage Gen1 Paramètres, cliquez sur journaux de diagnostic.

    Afficher les journaux de diagnostic

  2. Dans le panneau Diagnostics Logs, vous devriez voir les logs classés par Audit Logs et Request Logs.

    • Les journaux de requête capturent chaque demande d’API effectuée sur le compte Data Lake Storage Gen1.
    • Les journaux d’audit sont similaires aux journaux de requête, mais fournissent une répartition beaucoup plus détaillée des opérations effectuées sur le compte Data Lake Storage Gen1. Par exemple, un seul appel d’API de chargement dans les journaux de demande peut entraîner plusieurs opérations « Append » dans les journaux d’audit.
  3. Pour télécharger les journaux, cliquez sur le lien Télécharger pour chaque entrée de journal.

À partir du compte stockage Azure qui contient des données de journal

  1. Ouvrez le panneau du compte stockage Azure associé à Data Lake Storage Gen1 pour la journalisation, puis cliquez sur Blobs. Le panneau du service Blob répertorie deux conteneurs.

    Capture d’écran du panneau Data Lake Storage Gen1, l’option Blobs sélectionnée et le panneau du service Blob avec les noms des deux services blob mentionnés.

    • Le conteneur insights-logs-audit contient les journaux d’audit.
    • Le conteneur insights-logs-requests contient les journaux de requête.
  2. Dans ces conteneurs, les logs sont stockés selon la structure suivante.

    Capture d’écran de la structure du journal telle qu’elle est stockée dans le conteneur.

    Par exemple, le chemin complet d’un journal d’audit peut être https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=04/m=00/PT1H.json

    De même, le chemin d’accès complet à un journal des demandes peut être https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/mydatalakestorage/y=2016/m=07/d=18/h=14/m=00/PT1H.json

Comprendre la structure des données de journal

Les journaux d’audit et de requête sont au format JSON. Dans cette section, nous examinons la structure de JSON pour les journaux de requête et d’audit.

Journaux de demandes

Voici un exemple d’entrée dans le journal des demandes au format JSON. Chaque objet blob a un objet racine appelé records qui contient un tableau d’objets de journalisation.

{
"records": 
  [        
    . . . .
    ,
    {
        "time": "2016-07-07T21:02:53.456Z",
        "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Requests",
        "operationName": "GETCustomerIngressEgress",
        "resultType": "200",
        "callerIpAddress": "::ffff:1.1.1.1",
        "correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
        "identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
        "properties": {"HttpMethod":"GET","Path":"/webhdfs/v1/Samples/Outputs/Drivers.csv","RequestContentLength":0,"StoreIngressSize":0 ,"StoreEgressSize":4096,"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8","StartTime":"2016-07-07T21:02:52.472Z","EndTime":"2016-07-07T21:02:53.456Z","QueryParameters":"api-version=<version>&op=<operationName>"}
    }
    ,
    . . . .
  ]
}

Schéma du journal des demandes

Nom Catégorie Description
time Chaîne Horodatage (en UTC) du journal
resourceId Chaîne ID de la ressource sur laquelle l’opération a eu lieu
catégorie Chaîne Catégorie de log. Par exemple, Demandes.
NomOpération Chaîne Le nom de l’opération qui est journalisée. Par exemple, getfilestatus.
type de résultat Chaîne État de l’opération, par exemple, 200.
callerIpAddress Chaîne Adresse IP du client qui effectue la requête
correlationId Chaîne ID du journal qui peut être utilisé pour regrouper un ensemble d’entrées de journal associées
identité Objet L'identité qui a généré le journal des événements.
Propriétés JSON Voir ci-dessous pour plus d’informations

Schéma des propriétés du journal des demandes

Nom Catégorie Description
Méthode HTTP Chaîne Méthode HTTP utilisée pour l’opération. Par exemple, GET.
Chemin Chaîne Le chemin sur lequel l'opération a été effectuée
LongueurDuContenuDeLaRequête Int Longueur du contenu de la requête HTTP
ClientRequestId Chaîne ID qui identifie de façon unique cette requête
Heure de début Chaîne Heure à laquelle le serveur a reçu la demande
Heure de fin Chaîne Heure à laquelle le serveur a envoyé une réponse
StoreIngressSize Long Taille en octets entrés dans Data Lake Store
StoreEgressSize Long Taille en octets sortant de Data Lake Store
Paramètres de requête Chaîne Description : il s’agit des paramètres de requête http. Exemple 1 : api-version=2014-01-01&op=getfilestatus Exemple 2 : op=APPEND&append=true&syncFlag=DATA&filesessionid=bee3355a-4925-4435-bb4d-ceea52811aeb&leaseid=bee3355a-4925-4435-bb4d-ceea52811aeb&offset=28313319&api-version=2017-08-01

Journaux d’audit

Voici un exemple d’entrée dans le journal d’audit au format JSON. Chaque blob a un objet racine appelé enregistrements qui contient un tableau d'objets de log.

{
"records": 
  [        
    . . . .
    ,
    {
        "time": "2016-07-08T19:08:59.359Z",
        "resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKESTORE/ACCOUNTS/<data_lake_storage_gen1_account_name>",
        "category": "Audit",
        "operationName": "SeOpenStream",
        "resultType": "0",
        "resultSignature": "0",
        "correlationId": "381110fc03534e1cb99ec52376ceebdf;Append_BrEKAmg;25.66.9.145",
        "identity": "A9DAFFAF-FFEE-4BB5-A4A0-1B6CBBF24355",
        "properties": {"StreamName":"adl://<data_lake_storage_gen1_account_name>.azuredatalakestore.net/logs.csv"}
    }
    ,
    . . . .
  ]
}

Schéma du journal d’audit

Nom Catégorie Description
time Chaîne Horodatage (au format UTC) du registre des événements
resourceId Chaîne ID de la ressource sur laquelle l’opération a eu lieu
catégorie Chaîne Catégorie de journalisation. Par exemple, Audit.
operationName Chaîne Le nom de l’opération qui est journalisée. Par exemple, getfilestatus.
typeDeRésultat Chaîne État de l’opération, par exemple, 200.
resultSignature Chaîne Détails supplémentaires sur l’opération.
correlationId Chaîne ID du journal qui peut être utilisé pour regrouper un ensemble d’entrées de journal associées
identité Objet L'identité qui a généré le fichier de journal
Propriétés JSON Voir ci-dessous pour plus d’informations

Schéma des propriétés du journal d’audit

Nom Catégorie Description
StreamName Chaîne Le chemin sur lequel l'opération a été effectuée

Exemples pour traiter les données de log

Lors de l’envoi de journaux d’activité d’Azure Data Lake Storage Gen1 aux journaux Azure Monitor (consultez Afficher ou analyser les données collectées avec la recherche de journaux Azure Monitor pour plus d’informations sur l’utilisation des journaux Azure Monitor), la requête suivante retourne une table contenant une liste de noms d’affichage d’utilisateurs, l’heure des événements et le nombre d’événements pour l’heure de l’événement, ainsi qu’un graphique visuel. Il peut facilement être modifié pour afficher le GUID utilisateur ou d’autres attributs :

search *
| where ( Type == "AzureDiagnostics" )
| summarize count(TimeGenerated) by identity_s, TimeGenerated

Azure Data Lake Storage Gen1 fournit un exemple sur la façon de traiter et d’analyser les données du journal. Vous trouverez l’exemple à https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.

Voir aussi