Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A entrega de logs serverless escreve logs de aplicação de trabalhos serverless para um volume do Unity Catalog. Os administradores do espaço de trabalho configuram um destino para o espaço de trabalho para que as equipas possam reter registos e processá-los com as suas ferramentas de observabilidade. Os logs são entregues de forma assíncrona após a conclusão da tarefa. A entrega pode demorar vários minutos e varia consoante o processamento e o tempo de carregamento.
Importante
Este recurso está em versão Beta. Para o utilizar, um administrador de espaço de trabalho deve ativar a entrega de logs serverless para volumes do Unity Catalog a partir da página de Pré-visualizações. Ver Gerir as pré-visualizações de Azure Databricks.
Requirements
- Um espaço de trabalho com computação serverless e Unity Catalog ativada.
- Versão 5 ou posterior do ambiente serverless.
- O papel de administrador do espaço de trabalho é utilizado para configurar a entrega de registos. Veja Atribuir o papel de administrador do espaço de trabalho a um utilizador.
- A pré-visualização da entrega de logs serverless para volumes do catálogo Unity está ativada para o espaço de trabalho. Pode já estar ativado. Se estiver desativado, um administrador do espaço de trabalho pode ativá-lo na página de Pré-visualizações. Ativar a pré-visualização torna a configuração disponível; não inicia a entrega.
- Um volume de destino. O administrador que configura a entrega precisa de
USE CATALOGno seu catálogo,USE SCHEMAno seu esquema eREAD VOLUMEeWRITE VOLUMEno volume. Consulte Privilégios para volumes do catálogo Unity.
Note
Configure a entrega apenas para um volume fidedigno com acesso restrito. Os registos entregues podem conter informações sensíveis, incluindo emails de utilizador, caminhos de armazenamento, stack traces, identificadores internos e URLs temporários assinados. Não é garantido que os registos estejam livres de segredos.
Os utilizadores com acesso ao destino podem ler os registos entregues ao destino, incluindo os registos dos trabalhos de outros utilizadores. Restringa o acesso ao volume em conformidade.
Ativar entrega de logs
Um administrador de espaço de trabalho deve ativar a entrega de registos para o espaço de trabalho.
- Abre as Definições no teu menu de utilizador.
- Em Administração do espaço de trabalho, clique em Computação.
- Na secção de entrega de logs, ative a entrega de logs Serverless.
-
Em Configurar entrega de registos, introduza um caminho de Volume, como
/Volumes/observability/production/serverless_logs, ou clique no ícone da pasta para navegar pelos volumes. - Clique em Salvar. Guardar o destino permite a entrega.
A definição aplica-se ao nível do espaço de trabalho. Não precisas de configurar cada trabalho separadamente.
Leia os registos enviados
A saída da aplicação inclui saída padrão e erro padrão do código do utilizador, incluindo funções definidas pelo utilizador (UDFs). Utilize o Explorador de Catálogo para navegar pelo volume de destino e inspecionar ficheiros entregues. Consulte Trabalhar com arquivos em volumes do Catálogo Unity.
A entrega de registos não fornece métricas de cluster nem perfis de consulta. Use a página da execução da tarefa para investigar o estado e o desempenho da execução juntamente com os registos da aplicação. Consulte Monitorizar tarefas do Lakeflow.
Consultar registos entregues com SQL
Utilize read_files para consultar os ficheiros de texto entregues. Substitua o caminho de volume neste exemplo pelo seu destino. Para ler os registos, precisa de USE CATALOG no catálogo, USE SCHEMA no esquema e READ VOLUME no volume.
Crie uma vista temporária que extraia identificadores de trabalho e execução do caminho do ficheiro e mantenha cada linha de saída de log:
CREATE OR REPLACE TEMPORARY VIEW serverless_job_logs AS
SELECT
regexp_extract(_metadata.file_path, '/job_id=([^/]+)/', 1) AS job_id,
regexp_extract(_metadata.file_path, '/job_run_id=([^/]+)/', 1) AS job_run_id,
regexp_extract(_metadata.file_path, '/task_run_id=([^/]+)/', 1) AS task_run_id,
_metadata.file_name AS file_name,
value AS log_line
FROM read_files(
'/Volumes/observability/production/serverless_logs/',
format => 'text'
);
Encontre linhas que contenham erros entre execuções de tarefa:
SELECT job_id, job_run_id, task_run_id, file_name, log_line
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%';
Identifique os trabalhos com mais linhas de erro:
SELECT
job_id,
count(*) AS error_lines,
count(DISTINCT job_run_id) AS affected_runs
FROM serverless_job_logs
WHERE log_line LIKE '%ERROR%'
GROUP BY job_id
ORDER BY error_lines DESC;
Estas consultas procuram o texto literal ERROR. Ajuste o filtro para corresponder ao formato de registo da sua aplicação. Consulte read_files função de valor de tabela.
Alterar o destino ou desativar a entrega
Para alterar o destino, abra Definições > Cálculo > Entrega de registos, clique no ícone do lápis ao lado do nome do volume, introduza ou navegue para um novo caminho e clique em Guardar. Guardar um destino permite a entrega, incluindo quando a entrega foi desativada.
Para desativar a entrega, abra as Definições > Compute > entrega de registos e desative a entrega de registos serverless. A definição mantém o destino para que possa ativar o fornecimento novamente sem selecionar outro volume. Desativar a entrega não remove ficheiros já escritos no volume. Gerir o acesso e a retenção desses ficheiros separadamente.
Resolver problemas de registos em falta
Se os registos não aparecerem após a conclusão do trabalho:
- Verifique se a entrega de logs serverless está ativada em Definições > Compute > Entrega de logs. Ativar a pré-visualização sozinha não inicia a entrega.
- Verifique se o volume configurado existe e se o administrador que configurou a entrega mantém as permissões necessárias.
- Confirme que o trabalho utiliza computação serverless e produz a saída da aplicação. Aguarde alguns minutos após a conclusão do trabalho até à entrega assíncrona. O tempo de processamento e carregamento pode atrasar a entrega.
Para a entrega de registos do Compute clássico, veja Entrega de registos do Compute.