Diagnostisk loggning i Azure Databricks
Viktigt
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Azure Databricks ger omfattande diagnostiska loggar från slut punkt till slut punkt av aktiviteter som utförs av Azure Databricks användare, så att företaget kan övervaka detaljerade Azure Databricks användnings mönster.
Konfigurera diagnostisk logg leverans
Anteckning
Diagnostiska loggar kräver Azure Databricks Premium planen.
Logga in på Azure Portal som ägare eller deltagare för arbets ytan Azure Databricks och klicka på Azure Databricks tjänst resursen.
I avsnittet övervakning på sid panelen klickar du på fliken diagnostikinställningar .
Klicka på Slå på diagnostik.
På sidan diagnostikinställningar anger du följande konfiguration:
Namn
Ange ett namn för loggarna som ska skapas.
Arkivera till ett lagrings konto
Om du vill använda det här alternativet behöver du ett befintligt lagrings konto för att ansluta till. Om du vill skapa ett nytt lagrings konto i portalen går du till skapa ett lagrings konto och följer instruktionerna för att skapa Azure Resource Manager ett allmänt syftes konto. Gå sedan tillbaka till den här sidan i portalen och välj ditt lagrings konto. Det kan ta några minuter för nyligen skapade lagrings konton att visas på den nedrullningsbara menyn. Mer information om ytterligare kostnader som kan uppstå genom att skriva till ett lagrings konto finns Azure Storage prissättning.
Strömma till en händelsehubb
Om du vill använda det här alternativet behöver du ett befintligt Azure Event Hubs-namnområde och händelsehubben för att ansluta till. Om du vill skapa en Event Hubs namnrymd, se skapa ett Event Hubs-namnområde och en Event Hub med hjälp av Azure Portal. Gå sedan tillbaka till den här sidan i portalen för att välja Event Hubs namn område och princip namn. Information om ytterligare kostnader som kan uppstå genom att skriva till en Event Hub finns i Azure Event Hubs prissättning.
Skicka till Log Analytics
Om du vill använda det här alternativet använder du antingen en befintlig Log Analytics arbets yta eller skapar en ny genom att följa stegen för att skapa en ny arbets yta i portalen. Mer information om ytterligare kostnader för att skicka loggar till Log Analytics finns Azure Monitor prissättning.
Välj de tjänster som du vill använda diagnostikloggar för och ange bevarande principer.
Kvarhållning gäller endast för lagrings konton. Om du inte vill tillämpa någon bevarande princip och du vill behålla data permanent, ställer du in kvarhållning (dagar) på 0.
Välj Spara.
Om du får ett fel meddelande om att diagnostiken inte kunde uppdateras för
. Prenumerationen är inte registrerad för att använda Microsoft. Insights, följ fel söknings Azure-diagnostik -instruktionerna för att registrera kontot och försök sedan att göra om proceduren. Om du vill ändra hur dina diagnostikloggar sparas när som helst i framtiden går du tillbaka till den här sidan för att ändra inställningarna för diagnostikloggar för ditt konto.
Aktivera loggning med PowerShell
Starta en Azure PowerShell-session och logga in på ditt Azure-konto med följande kommando:
Connect-AzAccount
Om du inte redan har installerat Azure PowerShell kan du använda följande kommandon för att installera Azure PowerShell och importera Azure RM-modulen.
Install-Module -Name Az -AllowClobber Import-Module AzureRM
Ange användarnamnet och lösenordet för ditt Azure-konto i popup-fönstret i webbläsaren. Azure PowerShell hämtar alla prenumerationer som är associerade med det här kontot och använder som standard det första.
Om du har mer än en prenumeration kanske du måste ange den angivna prenumerationen som användes för att skapa ditt Azure Key Vault. Om du vill se prenumerationerna för ditt konto skriver du följande kommando:
Get-AzSubscription
Om du vill ange den prenumeration som är associerad med det Azure Databricks konto som du loggar in skriver du följande kommando:
Set-AzContext -SubscriptionId <subscription ID>
Ange Log Analytics resurs namn till en variabel med namnet
logAnalytics
, därResourceName
är namnet på arbets ytan Log Analytics.$logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"
Ange resurs namnet för Azure Databricks tjänst till en variabel med namnet
databricks
, därResourceName
är namnet på tjänsten Azure Databricks.$databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"
Om du vill aktivera loggning för Azure Databricks använder du cmdleten set-AzDiagnosticSetting med variabler för det nya lagrings kontot, Azure Databricks-tjänsten och den kategori som ska aktive ras för loggning. Kör följande kommando och ange
-Enabled
flaggan till$true
:Set-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
Aktivera loggning med hjälp av Azure CLI
Öppna PowerShell.
Använd följande kommando för att ansluta till ditt Azure-konto:
az login
Kör följande kommando för diagnostisk inställning:
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
Använd LogSettings -API: et.
Förfrågan
PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Begärandetext
{
"properties": {
"workspaceId": "<log analytics resourceId>",
"logs": [
{
"category": "<category name>",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
Leverans av diagnostisk logg
När loggning har Aktiver ATS för ditt konto börjar Azure Databricks automatiskt att skicka diagnostikloggar till leverans platsen. Loggarna är tillgängliga inom 15 minuters aktivering. Azure Databricks gransknings bara händelser visas vanligt vis i diagnostiska loggar inom 15 minuter i Azures kommersiella regioner.
Anteckning
Inloggnings loggar för SSH levereras med hög latens.
Schema för diagnostikloggar
Schemat för diagnostiska logg poster är följande:
Fält | Beskrivning |
---|---|
operationversion | Schema versionen av diagnostikens logg format. |
tid | UTC-tidsstämpel för åtgärden. |
egenskaper. sourceIPAddress | IP-adressen för käll förfrågan. |
egenskaper. userAgent | Webbläsaren eller API-klienten som används för att utföra begäran. |
egenskaper. sessionId | Sessions-ID för åtgärden. |
identiteter | Information om den användare som gör begär Anden: * e-post: användarens e-postadress. |
kategori | Tjänsten som loggade begäran. |
operationName | Åtgärden, till exempel inloggning, utloggning, läsa, skriva, osv. |
egenskaper. requestId | Unikt ID för begäran. |
egenskaper. requestParams | Parameter nyckel-värdepar som används i händelsen. |
egenskaper. Response | Svar på begäran: * errormessage: fel meddelandet om ett fel uppstod. * resultat: resultatet av begäran. * StatusCode: http-status kod som anger om begäran lyckades eller inte. |
egenskaper. logId | Den unika identifieraren för logg meddelanden. |
Händelser
category
Egenskaperna och operationName
identifierar en händelse i en loggpost. Azure Databricks innehåller diagnostikloggar för följande tjänster:
- DBFS
- Kluster
- Pooler
- Konton
- Jobb
- Notebook-fil
- SSH
- Arbetsyta
- Hemligheter
- SQL-behörigheter
Om åtgärder tar lång tid loggas begäran och svaret separat, men paret för begäran och svar har samma properties.requestId
.
Med undantag för Mount-relaterade åtgärder innehåller Azure Databricks diagnostikloggar inte några DBFS-relaterade åtgärder.
Anteckning
Automatiserade åtgärder – till exempel att ändra storlek på ett kluster på grund av automatisk skalning eller att starta ett jobb på grund av schemaläggning – utförs av användaren system-User.
Exempel på logg utdata
Följande JSON-exempel är ett exempel på Azure Databricks logga utdata:
{
"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@contoso.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"
}
Analysera diagnostikloggar
Om du har valt alternativet Skicka till Log Analytics när du aktiverade diagnostikloggning vidarebefordras diagnostikdata från din behållare vanligt vis till Azure Monitor loggar inom 15 minuter.
Innan du visar loggarna bör du kontrol lera att din Log Analytics arbets yta har uppgraderats för att använda det nya Kusto. Du kan kontrol lera genom att öppna Azure Portal och välja Log Analytics längst till vänster. Välj sedan din Log Analytics arbets yta. Om du får ett meddelande om att uppgradera kan du läsa mer i Uppgradera Azure Log Analytics-arbetsytan till ny loggs ökning.
Om du vill visa dina diagnostikdata i Azure Monitor loggar öppnar du logg Sök sidan från den vänstra menyn eller hanterings ytan på sidan. Ange sedan frågan i rutan loggs ökning .
Frågor
Här följer några ytterligare frågor som du kan ange i logg Sök rutan. Dessa frågor skrivs i Kusto-frågespråk.
Fråga alla användare som har åtkomst till Azure Databricks arbets ytan och deras plats:
DatabricksAccounts | where ActionName contains "login" | extend d=parse_json(Identity) | project UserEmail=d.email, SourceIPAddress
Så här kontrollerar du vilka Spark-versioner som används:
DatabricksClusters | where ActionName == "create" | extend d=parse_json(RequestParams) | extend SparkVersion= d.spark_version | summarize Count=count() by tostring(SparkVersion)