Tutorial: Substituir campos personalizados no workspace do Log Analytics por colunas personalizadas baseadas em KQL
Campos personalizados são um recurso do Azure Monitor que permite extrair dados em uma coluna separada de uma coluna de texto diferente da mesma tabela. A criação de novos campos personalizados será desabilitada a partir de 31 de março de 2023. A funcionalidade de campos personalizados será preterida e os campos personalizados existentes deixarão de funcionar em 31 de março de 2026.
Há várias vantagens em usar transformações de tempo de ingestãobaseadas em DCR para obter o mesmo resultado:
- Você pode aplicar um conjunto completo de funções de cadeia de caracteres para moldar suas colunas personalizadas.
- Você pode aplicar várias operações aos mesmos dados. Por exemplo, extraia uma parte de um valor para uma coluna separada e remova a coluna original.
- Você pode usar transformações de tempo de ingestão em seus modelos do ARM para implantar colunas personalizadas em escala.
Com a introdução das DCR (regras de coleta de dados), as transformações baseadas em KQL são o método padrão de personalização de tabela, substituindo os campos personalizados herdados.
Neste tutorial, você aprenderá como:
- Localizar campos personalizados que exigem substituição
- Entender o conteúdo dos campos personalizados
- Configurar a transformação de tempo de ingestão para substituir campos personalizados dentro da tabela
Pré-requisitos
- Workspace do Log Analytics com uma tabela que contém campos personalizados
- Privilégio de conta suficiente para criar e modificar regras de coleta de dados (DCR)
Localizar campos personalizados para substituição
Começar localizando campos personalizados a serem substituídos. Se você já souber quais são os campos personalizados que planeja substituir, prossiga para a próxima etapa.
Navegue até o workspace do Log Analytics onde a tabela com campos personalizados está localizada.
No menu lateral, selecione Tabelas. Selecione Gerenciar tabela no menu de contexto da tabela.
Observe se as DCRs (regras de coleta de dados) estão associadas a determinada tabela.
- Se alguma DCR estiver presente na seção correspondente, isso significa que todos os campos personalizados pré-existentes já foram implementados dentro dessas DCRs ou abandonados após a criação da DCR. Você examinará o conteúdo dos campos personalizados na próxima etapa deste tutorial e determinará se mais atualizações para DCRs são necessárias.
- Se não houver regras de coleta de dados associadas à tabela, todas as colunas em determinada tabela com nomes que terminam com "_CF" serão campos personalizados sujeitos à substituição.
Feche a caixa de diálogo propriedades da tabela e selecione Editar esquema no menu de contexto da tabela. Role até a parte inferior da página, onde as colunas personalizadas estão listadas. Essas colunas terminam com _CF.
Observe os nomes dessas colunas, pois você determinará seu conteúdo na próxima etapa.
Entender o conteúdo do campo personalizado
Como não há como examinar diretamente a definição de campo personalizado, você precisa consultar a tabela para determinar a fórmula de campo personalizada.
Selecione Logs no menu lateral e execute uma consulta para obter um exemplo de dados da tabela.
Localize as colunas indicadas na etapa anterior e examine o conteúdo.
- Se a coluna não estiver vazia e houver DCRs associadas à tabela, a lógica de campo personalizada já foi implementada com a transformação. Nenhuma ação é necessária
- Se a coluna estiver vazia (ou não estiver presente nos resultados da consulta) e houver DCRs associada à tabela, a lógica de campo personalizado não foi implementada com o DCR. Adicione uma transformação ao fluxo de dados na DCR existente.
- Se a coluna não estiver vazia e não houver DCRs associada à tabela, a lógica de campo personalizado precisará ser implementada como uma transformação no workspace DCR.
Examine o conteúdo do campo personalizado e determine a lógica de cálculo. Os campos personalizados geralmente calculam subcadeias de outras colunas na mesma tabela. Determine de qual coluna os dados vêm e a parte da cadeia de caracteres que ele extrai.
Criar transformação
Agora você está pronto para criar o snippet de KQL necessário e adicioná-lo a uma DCR. Essa lógica é aplicada a cada registro conforme ele é ingerido no workspace.
Modifique a consulta da tabela usando KQL para replicar a lógica de campo personalizada. Se você tiver vários campos personalizados para substituir, poderá combinar a lógica de cálculo deles em uma única instrução.
- Use o operador analisar para pesquisa baseada em padrão de uma substring dentro de uma string.
- Use a função extract() para pesquisa de subcadeia de caracteres baseada em regex.
- Funções de cadeia de caracteres como split(), substring() e muitas outras também podem ser úteis.
Determine onde sua nova definição de KQL da coluna personalizada precisa ser colocada.
- Para logs coletados usando o AMA (Agente do Azure Monitor),edite a DCR coletando dados para a tabela, adicionando uma transformação. Para obter um exemplo, consulte Práticas recomendadas e exemplos de transformações no Azure Monitor. A consulta de transformação é definida no elemento
transformKql
. - Para logs de recursos coletados com configurações de diagnóstico, adicione a transformação à DCR padrão do workspace. A tabela deve dar suporte a transformações.
- Para logs coletados usando o AMA (Agente do Azure Monitor),edite a DCR coletando dados para a tabela, adicionando uma transformação. Para obter um exemplo, consulte Práticas recomendadas e exemplos de transformações no Azure Monitor. A consulta de transformação é definida no elemento
Perguntas frequentes
Como faço para migrar campos personalizados para um log de texto coletado com o MMA (agente herdado do Log Analytics)?
Problema ao migrar para o AMA (Agente do Azure Monitor) O agente do Log Analytics está se aproximando do fim do suporte e você deve migrar para o AMA (Agente do Azure Monitor). Os logs de texto coletados com AMA usam a lógica de análise de log definida na forma de transformações KQL desde o início. Os campos personalizados não são obrigatórios e não têm suporte nos logs de texto coletados pelo Agente do Azure Monitor.
A migração de campos personalizados para KQL é obrigatória?
Não, você só precisará migrar seus campos personalizados se ainda quiser que suas colunas personalizadas sejam preenchidas. Se você não migrar seus campos personalizados, as colunas correspondentes deixarão de ser preenchidas quando o suporte a campos personalizados for encerrado. Os dados que já foram processados e armazenados na tabela não serão afetados e permanecerão utilizáveis.
Perderei meus dados existentes em colunas correspondentes se não migrar meus campos personalizados a tempo?
Não, os campos personalizados são calculados no momento da ingestão de dados. Excluir a definição de campo ou não migrá-los a tempo não afetará os dados ingeridos anteriormente.