Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Usługa Databricks zaleca użycie tabeli systemu dzienników inspekcji (system.access.audit) w celu uzyskania dostępu do dzienników inspekcji konta. Zobacz tabela systemu dziennika audytu.
W tym artykule opisano sposób włączania dostarczania dzienników diagnostycznych dla obszarów roboczych usługi Azure Databricks.
Note
Dzienniki diagnostyczne wymagają planu Premium.
Zaloguj się do portalu Azure jako właściciel, uczestnik lub jako użytkownik z rolą niestandardową z uprawnieniem
Microsoft.Databricks/workspaces/assignWorkspaceAdmin/actiondla obszaru roboczego usługi Azure Databricks. Następnie wybierz zasób usługi Azure Databricks.W sekcji Monitorowanie paska bocznego kliknij kartę Ustawienia diagnostyczne.
Kliknij pozycję Włącz diagnostykę.
Na stronie Ustawienia diagnostyczne podaj następującą konfigurację:
Name
Wprowadź nazwę dzienników do utworzenia.
Archiwizowanie na koncie magazynowym
Aby użyć tej opcji, musisz mieć istniejące konto magazynu, do którego można się połączyć. Aby utworzyć nowe konto magazynu w portalu, zobacz Tworzenie konta magazynu i postępuj zgodnie z instrukcjami, aby utworzyć konto w usłudze Azure Resource Manager, konto ogólnego przeznaczenia. Następnie wróć do tej strony w portalu, aby wybrać konto magazynowe. Wyświetlenie nowo utworzonych kont magazynu w menu rozwijanym może potrwać kilka minut. Aby uzyskać informacje o dodatkowych kosztach związanych z zapisywaniem na koncie magazynu, zobacz Cennik Azure Storage.
Transmisja do centrum zdarzeń
Aby użyć tej opcji, musisz mieć już istniejącą przestrzeń nazw w usłudze Azure Event Hubs oraz Event Hub, do którego można się połączyć. Aby utworzyć przestrzeń nazw usługi Event Hubs, zobacz Tworzenie przestrzeni nazw usługi Event Hubs i centrum zdarzeń przy użyciu witryny Azure Portal. Następnie wróć do tej strony w portalu, aby wybrać przestrzeń nazw Event Hubs i nazwę zasad. Aby uzyskać informacje o dodatkowych kosztach związanych z zapisywaniem do centrum zdarzeń, zobacz Cennik usługi Azure Event Hubs.
Wyślij do Log Analytics
Aby użyć tej opcji, użyj istniejącego obszaru roboczego usługi Log Analytics lub utwórz nowy, wykonując kroki tworzenia nowego obszaru roboczego w portalu. Aby uzyskać informacje o dodatkowych kosztach poniesionych przez wysyłanie dzienników do usługi Log Analytics, zobacz Cennik usługi Azure Monitor.
Wybierz usługi, dla których chcesz uzyskać dzienniki diagnostyczne.
Wybierz Zapisz.
Jeśli zostanie wyświetlony błąd z komunikatem "Nie można zaktualizować diagnostyki dla
<workspace name>. Subskrypcja<subscription id>nie jest zarejestrowana do korzystania z usługi Microsoft.Insights, postępuj zgodnie z instrukcjami w sekcji rozwiązywania problemów Diagnostyka usługi Azure, aby zarejestrować konto, a następnie spróbuj ponownie wykonać tę procedurę.Jeśli chcesz zmienić sposób zapisywania dzienników diagnostycznych w dowolnym momencie w przyszłości, wróć do tej strony, aby zmodyfikować ustawienia dziennika diagnostycznego dla twojego konta.
Note
Jeśli chcesz ustawić zasady przechowywania magazynu, skonfiguruj zasady zarządzania cyklem życia platformy Azure .
Włączanie rejestrowania przy użyciu programu PowerShell
Uruchom sesję programu PowerShell Azure i zaloguj się na konto platformy Azure przy użyciu następującego polecenia:
Connect-AzAccountAby zalogować się do konta platformy Azure przy użyciu konta użytkownika lub jednostki usługi, zobacz Uwierzytelnianie przy użyciu programu Azure PowerShell.
Jeśli nie masz już zainstalowanego programu Azure PowerShell, użyj następujących poleceń, aby zainstalować program Azure PowerShell.
Install-Module -Name Az -AllowClobberW oknie podręcznym przeglądarki wprowadź nazwę użytkownika i hasło konta platformy Azure. Program Azure PowerShell pobiera wszystkie subskrypcje skojarzone z tym kontem, a domyślnie używa pierwszego.
Jeśli masz więcej niż jedną subskrypcję, może być konieczne określenie konkretnej subskrypcji użytej do utworzenia usługi Azure Key Vault. Aby wyświetlić subskrypcje konta, wpisz następujące polecenie:
Get-AzSubscriptionAby określić subskrypcję skojarzona z kontem usługi Azure Databricks, które rejestrujesz, wpisz następujące polecenie:
Set-AzContext -SubscriptionId <subscription ID>Ustaw nazwę zasobu usługi Log Analytics na zmienną o nazwie
logAnalytics, gdzieResourceNamejest nazwą obszaru roboczego usługi Log Analytics.$logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"Ustaw nazwę zasobu usługi Azure Databricks na zmienną o nazwie
databricks, gdzieResourceNamejest nazwą usługi Azure Databricks.$databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"Aby włączyć rejestrowanie dla usługi Azure Databricks, użyj polecenia cmdlet New-AzDiagnosticSetting, podając zmienne dla nowego konta magazynu, usługi Azure Databricks oraz kategorii przeznaczonej do rejestrowania. Uruchom następujące polecenie i ustaw flagę
-Enabledna$true:New-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
Włączanie rejestrowania przy użyciu Azure CLI
Otwórz program PowerShell.
Użyj następującego polecenia, aby nawiązać połączenie z kontem platformy Azure:
az loginAby nawiązać połączenie przy użyciu konta użytkownika lub jednostki usługi, zobacz Zaloguj się za pomocą Azure CLI.
Uruchom następujące polecenie ustawienia diagnostycznego:
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 } ]'
interfejs API REST
Użyj interfejsu API LogSettings .
Request
PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Ciało żądania
{
"properties": {
"workspaceId": "<log analytics resourceId>",
"logs": [
{
"category": "<category name>",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
Opóźnienie dziennika diagnostycznego
Po włączeniu rejestrowania dla konta usługa Azure Databricks automatycznie wysyła dzienniki diagnostyczne do lokalizacji dostarczania. Dzienniki są zwykle dostępne w ciągu 15 minut od aktywacji. Zdarzenia z możliwością inspekcji usługi Azure Databricks są zwykle wyświetlane w dziennikach diagnostycznych w ciągu 15 minut w regionach komercyjnych platformy Azure.
Dzienniki logowania protokołu SSH są dostarczane z dużym opóźnieniem.
Note
Oczekuje się, że większość dzienników zostanie dostarczona w ciągu 15 minut, jednak usługa Azure Databricks nie gwarantuje przedziału czasu na dostarczanie dzienników.
Zagadnienia dotyczące schematu dziennika diagnostycznego
- Jeśli akcje trwają długo, żądanie i odpowiedź są rejestrowane oddzielnie, ale para żądań i odpowiedzi ma tę samą wartość
requestId. - Zautomatyzowane akcje, takie jak zmiana rozmiaru klastra z powodu skalowania automatycznego lub uruchamiania zadania z powodu planowania, są wykonywane przez użytkownika
System-User. - Pole
requestParamspodlega skróceniu. Jeśli rozmiar reprezentacji JSON przekracza 100 KB, wartości są skrócone, a ciąg... truncatedjest dołączany do skróconych wpisów. W rzadkich przypadkach, gdy obcinana mapa jest nadal większa niż 100 KB, zamiast tego występuje pojedynczy kluczTRUNCATEDz pustą wartością.
przykładowy schemat dziennika diagnostycznego
Inspekcja rejestruje zdarzenia wyjściowe w formacie JSON. Właściwości serviceName i actionName identyfikują zdarzenie. Konwencja nazewnictwa jest zgodna z Databricks REST API.
Poniższy przykładowy kod JSON to przykład zdarzenia zarejestrowanego podczas tworzenia zadania przez użytkownika:
{
"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"
}