Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
O Databricks recomenda usar a tabela do sistema de log de auditoria (system.access.audit) para acessar os logs de auditoria da conta. Confira Tabela de referência do sistema de logs de auditoria.
Esse artigo descreve como habilitar a entrega de log de diagnóstico para seus workspaces do Azure Databricks.
Note
Os logs de diagnóstico exigem o plano Premium.
Faça logon no portal do Azure como Proprietário, Colaborador ou como usuário com uma função personalizada com a permissão
Microsoft.Databricks/workspaces/assignWorkspaceAdmin/actionpara o espaço de trabalho do Azure Databricks. Em seguida, clique no recurso de serviço do Azure Databricks.Na seção Monitoramento da barra lateral, clique na guia Configurações de diagnóstico.
Clique em Ativar diagnóstico.
Na página Configurações de diagnóstico, forneça a seguinte configuração:
Name
Insira um nome para os logs a serem criados.
Arquivar em uma conta de armazenamento
Para usar essa opção, você precisa de uma conta de armazenamento existente à qual se conectar. Para criar uma nova conta de armazenamento no portal, consulte Criar uma conta de armazenamento e siga as instruções para criar uma conta de uso geral do Azure Resource Manager. Em seguida, retorne a esta página no portal para selecionar sua conta de armazenamento. Pode levar alguns minutos para que as contas de armazenamento recém-criadas sejam exibidas no menu suspenso. Para saber mais sobre custos adicionais incorridos ao gravar em uma conta de armazenamento, confira preços do Armazenamento do Azure.
Transmitir por streaming para um hub de eventos
Para usar essa opção, é necessário ter um namespace e um hub de eventos dos Hubs de Eventos do Azure aos quais se conectar. Para criar um namespace do Hubs de Eventos, consulte Criar um namespace dos Hubs de Eventos e um hub de eventos usando o portal do Azure. Em seguida, retorne a essa página no portal para selecionar o namespace e o nome da política dos Hubs de Eventos. Para saber mais sobre custos adicionais incorridos ao gravar em um hub de eventos, confira preços dos Hubs de Eventos do Azure.
Enviar para o Log Analytics
Para usar essa opção, use um workspace existente do Log Analytics ou crie um novo executando as etapas para Criar um novo workspace no portal. Para saber mais sobre custos adicionais incorridos ao enviar logs para o Log Analytics, confira Preços do Azure Monitor.
Escolha os serviços para os quais você deseja obter logs de diagnóstico.
Clique em Salvar.
Caso receba um erro que diga "Falha ao atualizar o diagnóstico para
<workspace name>. A assinatura<subscription id>não está registrada para usar o microsoft.insights", siga as instruções em Solucionar Problemas de Diagnóstico do Azure para registrar a conta e repetir esse procedimento.Se você quiser alterar como os seus logs de diagnóstico são salvos em qualquer ponto no futuro, retorne a esta página para modificar as configurações de log de diagnóstico para sua conta.
Note
Se você quiser definir políticas de retenção de armazenamento, configure uma política de gerenciamento do ciclo de vida do Azure.
Habilitar o registro em log usando o PowerShell
Inicie uma sessão do PowerShell do Azure e entre em sua conta do Azure com o seguinte comando:
Connect-AzAccountPara entrar em sua conta do Azure com uma conta de usuário ou entidade de serviço, consulte Authenticate with Azure PowerShell.
Se você ainda não tiver o Azure Powershell instalado, use os comandos a seguir para instalar o Azure PowerShell e importar o módulo do Azure RM.
Install-Module -Name Az -AllowClobberNa janela pop-up do navegador, insira o nome de usuário e a senha da sua conta do Azure. O Azure PowerShell obtém todas as assinaturas que estão associadas a essa conta e, por padrão, usa a primeira.
Se você tiver mais de uma assinatura, será preciso especificar a assinatura específica que foi usada para criar seu Azure Key Vault. Digite o seguinte comando para ver as assinaturas da sua conta:
Get-AzSubscriptionPara especificar a assinatura associada à conta do Azure Databricks na qual você está registrando atividades, digite o seguinte comando:
Set-AzContext -SubscriptionId <subscription ID>Defina o nome do recurso do Log Analytics como uma variável chamada
logAnalytics, em queResourceNameé o nome do workspace do Log Analytics.$logAnalytics = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name> -ResourceType "Microsoft.OperationalInsights/workspaces"Defina o nome do recurso de serviço do Azure Databricks como uma variável chamada
databricks, em queResourceNameé o nome do serviço do Azure Databricks.$databricks = Get-AzResource -ResourceGroupName <your resource group name> -ResourceName <your Azure Databricks service name> -ResourceType "Microsoft.Databricks/workspaces"Para habilitar o registro em log no Azure Databricks, use o cmdlet Set-AzDiagnosticSetting com as variáveis da nova conta de armazenamento, o serviço do Azure Databricks e a categoria para habilitar o registro em log. Execute o seguinte comando e defina o sinalizador
-Enabledcomo$true:New-AzDiagnosticSetting -ResourceId $databricks.ResourceId -WorkspaceId $logAnalytics.ResourceId -Enabled $true -name "<diagnostic setting name>" -Category <comma separated list>
Habilitar o registro em log usando a CLI do Azure
Abra o PowerShell.
Use o seguinte comando para conectar-se à sua conta do Azure:
az loginPara se conectar com uma conta de usuário ou entidade de serviço, consulte Entrar com a CLI do Azure.
Execute o seguinte comando de configuração de diagnóstico:
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 } ]'
API REST
Use a API LogSettings.
Request
PUT https://management.azure.com/{resourceUri}/providers/microsoft.insights/diagnosticSettings/{name}?api-version=2017-05-01-preview
Corpo da solicitação
{
"properties": {
"workspaceId": "<log analytics resourceId>",
"logs": [
{
"category": "<category name>",
"enabled": true,
"retentionPolicy": {
"enabled": false,
"days": 0
}
}
]
}
}
Latência do log de diagnóstico
Após a habilitação do registro em log para a sua conta, o Azure Databricks envia automaticamente os logs de diagnósticos para o seu local de entrega. Normalmente, os logs ficam disponíveis 15 minutos após a ativação. Os eventos auditáveis do Azure Databricks normalmente aparecem nos logs de diagnóstico dentro de 15 minutos nas regiões comerciais do Azure.
Os logs de logon SSH são entregues com alta latência.
Note
Embora se espere que a maioria dos logs seja entregue em 15 minutos, o Azure Databricks não garante um prazo para a entrega dos logs.
Considerações sobre o esquema de log de diagnóstico
- Se as ações demorarem, a solicitação e a resposta serão registradas separadamente, mas o par de solicitação e resposta terá o mesmo
requestId. - Ações automatizadas, como redimensionar um cluster devido ao dimensionamento automático ou iniciar um trabalho devido ao agendamento, são executadas pelo usuário
System-User. - O campo
requestParamsestá sujeito a truncamento. Se o tamanho da representação JSON ultrapassar 100 KB, os valores serão truncados e a cadeia de caracteres... truncatedserá anexada a entradas truncadas. Em casos raros nos quais um mapa truncado ainda é maior do que 100 KB, uma única chaveTRUNCATEDcom um valor vazio estará presente.
Exemplo de esquema do log de diagnóstico
Logs de auditoria geram eventos em JSON. As propriedades serviceName e actionName identificam o evento. A convenção de nomenclatura segue a API REST do Databricks.
O exemplo de JSON a seguir é um exemplo de um evento registrado quando um usuário criou um trabalho:
{
"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"
}