Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Note
Databricks recommande d’utiliser la table système du journal d’audit (system.access.audit) pour accéder aux journaux d’audit de votre compte. Consultez Référence de table système du journal d’audit.
Cet article explique comment activer la livraison des journaux de diagnostic pour vos espaces de travail Azure Databricks.
Note
Les journaux de diagnostic nécessitent le plan Premium.
Connectez-vous au portail Azure en tant que propriétaire, contributeur ou utilisateur disposant d’un rôle personnalisé avec l’autorisation
Microsoft.Databricks/workspaces/assignWorkspaceAdmin/actionpour l’espace de travail Azure Databricks. Cliquez ensuite sur votre ressource de service Azure Databricks.Dans la section surveillance de la barre latérale, cliquez sur l’onglet paramètres de diagnostic .
Cliquez sur Activer les diagnostics.
Dans la page Paramètres de diagnostic, indiquez la configuration suivante :
Name
Entrez un nom pour les journaux d’activité à créer.
Archiver dans un compte de stockage
Pour utiliser cette option, vous avez besoin d’un compte de stockage existant auquel vous connecter. Pour créer un compte de stockage dans le portail, consultez Créer un compte de stockage et suivez les instructions pour créer un compte Azure Resource Manager à usage général. Puis revenez à cette page dans le portail pour sélectionner votre compte de stockage. L’affichage des comptes de stockage nouvellement créés dans le menu déroulant peut prendre quelques minutes. Pour plus d’informations sur les coûts supplémentaires engendrés par l’écriture dans un compte de stockage, consultez stockage Azure tarification.
Diffuser vers un hub d’événements
Pour utiliser cette option, vous devez disposer d'un espace de noms Azure Event Hubs existant et d'un concentrateur d'événements auquel vous connecter. Pour créer un espace de noms Event Hubs, consultez Créer un espace de noms Event Hubs et un Event Hub à l’aide du portail Azure. Revenez ensuite à cette page dans le portail pour sélectionner l’espace de noms Event Hubs et le nom de la stratégie. Pour plus d’informations sur les coûts supplémentaires engendrés par l’écriture dans une Event Hub, consultez la page tarification d’Azure Event Hubs.
Envoyer à Log Analytics
Pour utiliser cette option, utilisez un espace de travail Log Analytics existant ou créez-en un nouveau en suivant les étapes de la section Créer un nouvel espace de travail dans le portail. Pour plus d’informations sur les coûts supplémentaires engendrés par l’envoi de journaux à des Log Analytics, consultez tarification Azure Monitor.
Choisissez les services pour lesquels vous voulez des journaux de diagnostic.
Cliquez sur Enregistrer.
Si vous recevez un message d’erreur indiquant « Échec de la mise à jour des diagnostics pour
<workspace name>. L'abonnement<subscription id>n'est pas enregistré pour utiliser microsoft.insights, », suivez les instructions de Résolution de problèmes de diagnostics Azure pour enregistrer le compte, puis réessayez cette procédure.Si vous souhaitez modifier la façon dont vos journaux de diagnostic seront enregistrés à l’avenir, revenez à cette page pour modifier les paramètres de journal de diagnostic pour votre compte.
Note
Si vous voulez définir des stratégies de rétention de stockage, configurez une stratégie de gestion du cycle de vie Azure.
Activer la journalisation à l’aide de PowerShell
Démarrez une session Azure PowerShell et connectez-vous à votre compte Azure avec la commande suivante :
Connect-AzAccountPour vous connecter à votre compte Azure avec un compte d’utilisateur ou un principal de service, consultez Authentifier avec Azure PowerShell.
Si vous n’avez pas déjà installé Azure Powershell, utilisez les commandes suivantes pour installer Azure PowerShell.
Install-Module -Name Az -AllowClobberDans la fenêtre contextuelle de votre navigateur, entrez votre nom d’utilisateur et votre mot de passe Azure. Azure PowerShell obtient alors tous les abonnements associés à ce compte et utilise par défaut le premier.
Si vous disposez de plusieurs abonnements, vous devrez peut-être spécifier celui qui a été utilisé pour créer votre Azure Key Vault. Pour afficher les abonnements de votre compte, entrez la commande suivante :
Get-AzSubscriptionPour spécifier l’abonnement associé au compte Azure Databricks que vous journalisez, tapez la commande suivante :
Set-AzContext -SubscriptionId <subscription ID>Définissez votre nom de ressource Log Analytics sur une variable nommée
logAnalytics, oùResourceNameest le nom de l’espace de travail log Analytics.$logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"Définissez le nom de la ressource de service Azure Databricks sur une variable nommée
databricks, oùResourceNameest le nom du service Azure Databricks.$databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"Pour activer la journalisation d’Azure Databricks, utilisez la cmdletNew-AzDiagnosticSetting avec des variables pour le nouveau compte de stockage, le service Azure Databricks et la catégorie à activer pour la journalisation. Exécutez la commande suivante et mettez le drapeau
-Enabledsur$true:New-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
Activer la journalisation à l’aide d’Azure CLI
Ouvrez PowerShell.
Utilisez la commande suivante pour vous connecter à votre compte Azure :
az loginPour vous connecter avec un compte d’utilisateur ou un principal de service, consultez Se connecter avec Azure CLI.
Exécutez la commande de paramètre de diagnostic suivante :
az monitor diagnostic-settings create --name <diagnostic name> --resource-group <log analytics workspace resource group> --workspace <log analytics name or object ID> --resource <target resource object ID> --logs '[ { \"category\": <category name>, \"enabled\": true } ]'
REST API
Utilisez l’API LogSettings .
Request
PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Corps de la requête
{
"properties": {
"workspaceId": "<log analytics resourceId>",
"logs": [
{
"category": "<category name>",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
Latence du journal de diagnostic
Après la journalisation activée pour votre compte, Azure Databricks envoie automatiquement les journaux de diagnostic à votre emplacement de livraison. Les journaux sont disponibles dans un délai de 15 minutes après l’activation. Azure Databricks événements pouvant être audités apparaissent généralement dans les journaux de diagnostic dans un délai de 15 minutes dans les régions commerciales d’Azure.
Les journaux de connexion SSH sont fournis avec une latence élevée.
Note
Bien que la plupart des journaux soient censés être livrés dans les 15 minutes, Azure Databricks ne garantit pas de délai pour la livraison des journaux.
Considérations relatives au schéma de journal de diagnostic
- Si les actions prennent beaucoup de temps, la demande et la réponse sont journalisées séparément, mais la paire demande et réponse ont le même
requestId. - Les actions automatisées, telles que le redimensionnement d’un cluster en raison de la mise à l’échelle automatique ou du lancement d’un travail en raison d’une planification, sont effectuées par l’utilisateur
System-User. - Le champ
requestParamsest susceptible d’être tronqué. Si la taille de sa représentation JSON dépasse 100 Ko, les valeurs sont tronquées et la chaîne... truncatedest ajoutée aux entrées tronquées. Dans de rares cas où une carte tronquée est toujours supérieure à 100 Ko, une clé uniqueTRUNCATEDavec une valeur vide est présente à la place.
Exemple de schéma de journal de diagnostic
Les journaux d’audit produisent les événements au format JSON. Les propriétés serviceName et actionName identifient l’événement. La convention de nommage suit l’API REST Databricks.
L’exemple JSON suivant illustre un événement journalisé lorsqu’un utilisateur a créé un travail :
{
"TenantId": "<your-tenant-id>",
"SourceSystem": "|Databricks|",
"TimeGenerated": "2019-05-01T00:18:58Z",
"ResourceId": "/SUBSCRIPTIONS/SUBSCRIPTION_ID/RESOURCEGROUPS/RESOURCE_GROUP/PROVIDERS/MICROSOFT.DATABRICKS/WORKSPACES/PAID-VNET-ADB-PORTAL",
"OperationName": "Microsoft.Databricks/jobs/create",
"OperationVersion": "1.0.0",
"Category": "jobs",
"Identity": {
"email": "mail@example.com",
"subjectName": null
},
"SourceIPAddress": "131.0.0.0",
"LogId": "201b6d83-396a-4f3c-9dee-65c971ddeb2b",
"ServiceName": "jobs",
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36",
"SessionId": "webapp-cons-webapp-01exaj6u94682b1an89u7g166c",
"ActionName": "create",
"RequestId": "ServiceMain-206b2474f0620002",
"Response": {
"statusCode": 200,
"result": "{\"job_id\":1}"
},
"RequestParams": {
"name": "Untitled",
"new_cluster": "{\"node_type_id\":\"Standard_DS3_v2\",\"spark_version\":\"5.2.x-scala2.11\",\"num_workers\":8,\"spark_conf\":{\"spark.databricks.delta.preview.enabled\":\"true\"},\"cluster_creator\":\"JOB_LAUNCHER\",\"spark_env_vars\":{\"PYSPARK_PYTHON\":\"/databricks/python3/bin/python3\"},\"enable_elastic_disk\":true}"
},
"Type": "DatabricksJobs"
}