Gravação de log de consulta
Observação
Desativaremos o Microsoft Azure HDInsight no AKS em 31 de janeiro de 2025. Para evitar o encerramento abrupto das suas cargas de trabalho, você precisará migrá-las para o Microsoft Fabric ou para um produto equivalente do Azure antes de 31 de janeiro de 2025. Os clusters restantes em sua assinatura serão interrompidos e removidos do host.
Somente o suporte básico estará disponível até a data de desativação.
Importante
Esse recurso está atualmente na visualização. Os Termos de uso complementares para versões prévias do Microsoft Azure incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, confira Informações sobre a versão prévia do Azure HDInsight no AKS. No caso de perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para ver mais atualizações sobre a Comunidade do Azure HDInsight.
O Trino dá suporte a ouvintes de eventos personalizados que podem ser usados para escutar eventos de ciclo de vida de consulta. Você pode criar seus próprios ouvintes de eventos ou usar um plug-in interno fornecido pelo HDInsight no AKS que registra eventos no Armazenamento de Blobs do Azure.
Você pode habilitar o registro em log de consulta interno de duas maneiras:
Você pode habilitar o registro em log de consultas internas durante a criação do cluster do Trino habilitando o catálogo de hive.
Você pode habilitar o registro em log de consulta interno em seu cluster usando o modelo do ARM.
Esse artigo aborda a adição do registro em log de consultas ao cluster usando o modelo do ARM.
Pré-requisitos
- Um cluster operacional de Trino com HDInsight no AKS.
- Crie um modelo do ARM para o cluster.
- Examine o exemplo de modelo do ARM completo do cluster.
- Familiaridade com a criação e a implantação de modelo do ARM.
Habilitar o registro em log de consulta
Para habilitar o plug-in de log de consulta interno no cluster do Trino, adicione/atualize a seção clusterProfile.trinoProfile.userTelemetrySpec
com as seguintes propriedades no modelo ARM do cluster.
Propriedade | Descrição |
---|---|
path |
Caminho totalmente qualificado para um diretório usado como uma raiz para capturar logs de consulta diferentes. |
hivecatalogName |
Esse catálogo é usado para montar tabelas externas nos arquivos gravados na conta de armazenamento. Esse catálogo deve ser adicionado ao seu cluster, Adicionar catálogo de hive. |
hivecatalogSchema |
O plug-in de log de consulta usa esse esquema para montar a tabela externa para os logs, o plug-in cria esse esquema se ele ainda não existir. Valor padrão: trinologs |
partitionRetentionInDays |
O plug-in de log de consulta poda as partições nas tabelas de log, que são mais antigas do que a configuração especificada. Valor padrão: 365 |
O exemplo a seguir demonstra como um log de consulta está habilitado em um cluster do Trino. Adicione este json de exemplo em [*].properties.clusterProfile
no modelo do ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Implante o modelo do ARM atualizado para refletir as alterações em seu cluster. Saiba como implantar um modelo do ARM.
Observação
O plug-in usa a identidade gerenciada (MSI) atribuída pelo usuário vinculada ao cluster para se autenticar no armazenamento, adicione os acessos
Contributor
eStorage Blob Data Owner
à MSI para garantir que o plug-in possa gravar logs na conta de armazenamento.
O nome MSI atribuído pelo usuário está listado na propriedademsiResourceId
no JSON do recurso do cluster. Saiba como atribuir uma função.PartitionRetentionInDays remove apenas a partição de metadados da tabela montada e não exclui os dados. Limpe os dados de acordo com seus requisitos, se não forem mais necessários.
Gerenciamento de metadados
Se o usuário especificar um nome de catálogo na propriedade hiveCatalogName
, o plug-in montará os arquivos de logs gravados na conta de armazenamento como tabelas e exibições externas, que podem ser consultados por meio do Trino.
O plug-in cria três tabelas e três exibições, que podem ser usadas para consultar os eventos do ciclo de vida (QueryCompletedEvent
QueryCreatedEvent
e SplitCompletedEVent
). Essas tabelas e exibições são criadas no catálogo e no esquema fornecidos como entrada do usuário.
Nome das tabelas:
querycompleted
: contémQueryCompleted
eventos disparados pelo Trino.querycreated
: contémQueryCreatedEvents
acionado pelo Trino.splitcompleted
: contémSplitCompletedEvents
acionado pelo Trino.
Nome dos modos de exibição:
vquerycompleted
vquerycreated
vsplitcompleted
Observação
Os usuários são incentivados a usar os modos de exibição, pois são imunes a alterações de esquema subjacentes e conta para a tabela descrita.
Arquivamento de tabela
O plug-in suporta o arquivamento da (N-1)ª tabela no cenário em que o usuário decide alterar o path
ou a localização externa dos logs.
Se isso acontecer, o plug-in renomeará a tabela apontando para o caminho antigo como <table_name>_archived, o modo de exibição criado unirá o resultado das tabelas atuais e arquivadas nesse cenário.
Como criar seu plug-in personalizado
Você também pode criar um plug-in de ouvinte de eventos personalizado. Siga as instruções em documentos, Implantar plug-ins personalizados seguindo as etapas de implantação do plug-in.