Accès aux journaux de diagnostic d’Azure Data Lake Analytics
Important
Azure Data Lake Analytics mis hors service le 29 février 2024. Découvrez-en plus avec cette annonce.
Pour l’analytique des données, votre organization peut utiliser Azure Synapse Analytics ou Microsoft Fabric.
La journalisation de diagnostic vous permet de collecter les pistes d’audit d’accès aux données. Ces journaux d’activité fournissent des informations comme :
- Une liste des utilisateurs qui ont accédé aux données.
- La fréquence à laquelle les données sont consultées.
- La quantité de données stockées dans le compte.
Activation de la journalisation
Connectez-vous au Portail Azure.
Ouvrez votre compte Data Lake Analytics et sélectionnez Paramètres de diagnostic dans la section Supervision. Ensuite, sélectionnez + Ajouter un paramètre de diagnostic.
Dans Paramètres de diagnostic, entrez un nom pour cette configuration de journalisation, puis sélectionnez les options de journalisation.
Vous pouvez choisir de stocker/traiter les données de quatre manières différentes.
Sélectionnez Archive to a storage account (Archiver dans un compte de stockage) pour stocker les journaux d’activité dans un compte de stockage Azure. Utilisez cette option si vous souhaitez archiver les données. Si vous sélectionnez cette option, vous devez fournir un compte de stockage Azure dans lequel enregistrer les journaux d’activité.
Sélectionnez Stream vers un hub d’événements pour diffuser des données de journal vers un Azure Event Hubs. Utilisez cette option si vous disposez d’un pipeline de traitement en aval qui analyse les journaux d’activité entrants en temps réel. Si vous sélectionnez cette option, vous devez fournir les détails de la Azure Event Hubs que vous souhaitez utiliser.
Sélectionnez Envoyer à un espace de travail Log Analytics pour envoyer les données au service Azure Monitor. Utilisez cette option si vous souhaitez utiliser les journaux Azure Monitor pour recueillir et analyser les journaux.
Sélectionnez Envoyer à une solution partenaire si vous souhaitez utiliser l’intégration de notre partenaire. Pour plus d’informations, vous pouvez suivre ce lien.
Spécifiez si vous souhaitez obtenir des journaux d’audit ou des journaux d’activité de demande ou les deux. Un journal des requêtes capture chaque demande d’API. Un journal d’audit enregistre toutes les opérations qui sont déclenchées par cette demande d’API.
Pour Archiver dans un compte de stockage, spécifiez le nombre de jours pendant lesquels conserver les données.
Sélectionnez Enregistrer.
Notes
Vous devez choisir entre Archiver dans un compte de stockage, Diffuser vers un hub d’événements, Envoyer à l’espace de travail Log Analytics, ou Envoyer vers une solution partenaire avant de sélectionner le bouton Enregistrer.
Utiliser le compte de Stockage Azure qui contient les données du journal
Pour afficher les conteneurs d’objets blob qui contiennent les données de journalisation, ouvrez le compte de stockage Azure utilisé par Data Lake Analytics pour la journalisation, puis sélectionnez Conteneurs.
- Le conteneur insights-logs-audit contient les journaux d’audit.
- Le conteneur insights-logs-requests contient les journaux d’activité de demande.
Les journaux d’activité sont stockés dans ces conteneurs, selon la structure de fichiers suivante :
resourceId=/ SUBSCRIPTIONS/ <<SUBSCRIPTION_ID>>/ RESOURCEGROUPS/ <<RESOURCE_GRP_NAME>>/ PROVIDERS/ MICROSOFT.DATALAKEANALYTICS/ ACCOUNTS/ <DATA_LAKE_ANALYTICS_NAME>>/ y=####/ m=##/ d=##/ h=##/ m=00/ PT1H.json
Notes
Le panneau
##
dans le chemin d’accès contiennent l’année, le mois, le jour et l’heure auxquels le journal a été créé. Data Lake Analytics crée un fichier toutes les heures, par conséquent,m=
contient toujours une valeur de00
.Par exemple, le chemin d’accès complet à un journal d’audit peut être :
https://adllogs.blob.core.windows.net/insights-logs-audit/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=04/m=00/PT1H.json
De même, le chemin d’accès complet à un journal de demande peut être :
https://adllogs.blob.core.windows.net/insights-logs-requests/resourceId=/SUBSCRIPTIONS/<sub-id>/RESOURCEGROUPS/myresourcegroup/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/mydatalakeanalytics/y=2016/m=07/d=18/h=14/m=00/PT1H.json
Traiter les données de journal
Azure Data Lake Analytics fournit un exemple de traitement et d’analyse des données de journal. Vous pouvez trouver l’exemple à l’adresse https://github.com/Azure/AzureDataLake/tree/master/Samples/AzureDiagnosticsSample.
Structure journal
Les journaux d’activité d’audit et de demande présentent un format JSON structuré.
journaux d’activité de demande
Voici un exemple d’entrée dans le journal de demande au format JSON. Chaque objet blob a un objet racine appelé enregistrements qui contient un tableau d’objets du journal.
{
"records":
[
. . . .
,
{
"time": "2016-07-07T21:02:53.456Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_analytics_account_name>",
"category": "Requests",
"operationName": "GetAggregatedJobHistory",
"resultType": "200",
"callerIpAddress": "::ffff:1.1.1.1",
"correlationId": "4a11c709-05f5-417c-a98d-6e81b3e29c58",
"identity": "1808bd5f-62af-45f4-89d8-03c5e81bac30",
"properties": {
"HttpMethod":"POST",
"Path":"/JobAggregatedHistory",
"RequestContentLength":122,
"ClientRequestId":"3b7adbd9-3519-4f28-a61c-bd89506163b8",
"StartTime":"2016-07-07T21:02:52.472Z",
"EndTime":"2016-07-07T21:02:53.456Z"
}
}
,
. . . .
]
}
Schéma du journal de requête
Nom | Type | Description |
---|---|---|
time | String | L’horodatage (heure UTC) du journal. |
resourceId | String | L’identificateur de la ressource sur laquelle l’opération a eu lieu. |
catégorie | String | La catégorie du journal. Par exemple, Demandes. |
operationName | String | Le nom de l’opération qui est journalisée. Par exemple, GetAggregatedJobHistory. |
resultType | String | L’état de l’opération. Par exemple, 200. |
callerIpAddress | String | L’adresse IP du client qui a effectué la demande. |
correlationId | String | L’identificateur du journal. Cette valeur peut être utilisée pour regrouper un ensemble d’entrées de journal associées. |
identité | Object | L’identité qui a généré le journal. |
properties | JSON | Consultez la section suivante (Schéma des propriétés de journal de demande) pour plus d’informations |
Schéma des propriétés de journal de demande
Nom | Type | Description |
---|---|---|
HttpMethod | String | La méthode HTTP utilisée pour l’opération. Par exemple, GET. |
Path | String | Le chemin d’accès vers l’emplacement où l’opération a eu lieu. |
RequestContentLength | int | La longueur du contenu de la demande HTTP. |
ClientRequestId | String | L’identificateur qui identifie de façon unique cette demande. |
StartTime | String | Heure à laquelle le serveur a reçu la demande |
EndTime | String | Heure à laquelle le serveur a envoyé une réponse |
Journaux d’audit
Voici un exemple d’entrée dans le journal d’audit au format JSON. Chaque objet blob a un objet racine appelé enregistrements qui contient un tableau d’objets du journal.
{
"records":
[
{
"time": "2016-07-28T19:15:16.245Z",
"resourceId": "/SUBSCRIPTIONS/<subscription_id>/RESOURCEGROUPS/<resource_group_name>/PROVIDERS/MICROSOFT.DATALAKEANALYTICS/ACCOUNTS/<data_lake_ANALYTICS_account_name>",
"category": "Audit",
"operationName": "JobSubmitted",
"identity": "user@somewhere.com",
"properties": {
"JobId":"D74B928F-5194-4E6C-971F-C27026C290E6",
"JobName": "New Job",
"JobRuntimeName": "default",
"SubmitTime": "7/28/2016 7:14:57 PM"
}
}
]
}
Schéma du journal d’audit
Nom | Type | Description |
---|---|---|
time | String | L’horodatage (heure UTC) du journal. |
resourceId | String | L’identificateur de la ressource sur laquelle l’opération a eu lieu. |
catégorie | String | La catégorie du journal. Par exemple, Audit. |
operationName | String | Le nom de l’opération qui est journalisée. Par exemple, JobSubmitted. |
resultType | String | Un sous-état de l’état de la tâche (operationName). |
resultSignature | String | Détails supplémentaires sur le status de travail (operationName). |
identité | String | L’utilisateur qui a demandé l’opération. Par exemple : susan@contoso.com. |
properties | JSON | Consultez la section suivante (Schéma des propriétés de journal d’audit) pour plus d’informations |
Notes
resultType et resultSignature fournissent des informations sur le résultat d’une opération et contiennent uniquement une valeur si une opération est terminée. Par exemple, ils contiennent uniquement une valeur quand operationName contient la valeur JobStarted ou JobEnded.
Schéma des propriétés de journal d’audit
Nom | Type | Description |
---|---|---|
JobId | String | L’ID affecté à la tâche. |
JobName | String | Le nom fourni pour la tâche. |
JobRunTime | String | Le runtime utilisé pour traiter la tâche. |
SubmitTime | String | L’heure (UTC) à laquelle la tâche a été envoyée. |
StartTime | String | L’heure à laquelle l’exécution de la tâche a commencé après la soumission (UTC). |
EndTime | String | L’heure à laquelle la tâche s’est terminée. |
Parallélisme | String | Le nombre d’unités Data Lake Analytics demandées pour cette tâche pendant la soumission. |
Notes
SubmitTime, StartTime, EndTime et Parallélisme fournissent des informations sur une opération. Ces entrées ne contiennent une valeur que si cette opération a démarré ou est terminée. Par exemple, SubmitTime contient uniquement une valeur après que operationName a la valeur JobSubmitted.