Tutorial: Substituir campos personalizados no espaço de trabalho do Log Analytics por colunas personalizadas baseadas em KQL
Campos personalizados é um recurso do Azure Monitor que permite extrair para uma coluna separada dados de uma coluna de texto diferente da mesma tabela. A criação de novos campos personalizados será desativada 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ão baseadas 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 ARM para implantar colunas personalizadas em escala.
Com a introdução de regras de coleta de dados (DCR), as transformações baseadas em KQL são o método padrão de personalização de tabelas, substituindo campos personalizados herdados.
Neste tutorial, irá aprender a:
- Localizar campos personalizados que requerem substituição
- Compreender o conteúdo dos campos personalizados
- Configurar a transformação em tempo de ingestão para substituir campos personalizados dentro da tabela
Pré-requisitos
- Espaço de trabalho do Log Analytics com uma tabela contendo campos personalizados
- Privilégio de conta suficiente para criar e modificar regras de coleta de dados (DCR)
Localizar campos personalizados para substituição
Comece localizando campos personalizados para substituir. Se já conhece os campos personalizados que pretende substituir, avance para o passo seguinte.
Navegue até o espaço de trabalho 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 alguma regra de coleta de dados (DCRs) está associada a uma determinada tabela.
- Se algum DCR estiver presente na seção correspondente, isso significa que todos os campos personalizados pré-existentes já foram implementados dentro desses DCRs ou abandonados após a criação do DCR. Você examinará o conteúdo dos campos personalizados na próxima etapa deste tutorial e determinará se são necessárias mais atualizações para DCRs.
- Se não houver regras de coleta de dados associadas à tabela, todas as colunas em determinada tabela com nomes terminados com "_CF" serão campos personalizados sujeitos a substituição.
Feche a caixa de diálogo de propriedades da tabela e selecione Editar esquema no menu de contexto da tabela. Desloque-se para a parte inferior da página onde as colunas personalizadas estão listadas. Estas colunas terminam com _CF.
Observe os nomes dessas colunas, pois você determinará seu conteúdo na próxima etapa.
Compreender o conteúdo do campo personalizado
Como não há como examinar a definição de campo personalizado diretamente, você precisa consultar a tabela para determinar a fórmula de campo personalizado.
Selecione Logs no menu lateral e execute uma consulta para obter uma amostra de dados da tabela.
Localize as colunas anotadas na etapa anterior e examine seu conteúdo.
- Se a coluna não estiver vazia e houver DCRs associados à tabela, a lógica de campo personalizado 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 associados à tabela, a lógica de campo personalizado não foi implementada com o DCR. Adicione uma transformação ao fluxo de dados no DCR existente.
- Se a coluna não estiver vazia e não houver DCRs associados à tabela, a lógica de campo personalizado precisará ser implementada como uma transformação no DCR do espaço de trabalho.
Examine o conteúdo do campo personalizado e determine a lógica como ele está sendo calculado. Os campos personalizados geralmente calculam substrings de outras colunas na mesma tabela. Determine de qual coluna os dados vêm e a parte da cadeia de caracteres que eles extraem.
Criar transformação
Agora você está pronto para criar o trecho KQL necessário e adicioná-lo a um DCR. Essa lógica é aplicada a cada registro à medida que ele é ingerido no espaço de trabalho.
Modifique a consulta para a tabela usando KQL para replicar a lógica de campo personalizado. Se você tiver vários campos personalizados para substituir, poderá combinar sua lógica de cálculo em uma única instrução.
- Use o operador de análise para pesquisa baseada em padrão de uma substring dentro de uma cadeia de caracteres.
- Use a função extract() para pesquisa de substring 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 KQL da coluna personalizada precisa ser colocada.
- Para logs coletados usando o Azure Monitor Agent (AMA), edite o DCR coletando dados para a tabela, adicionando uma transformação. Para obter um exemplo, consulte Práticas recomendadas e exemplos para transformações no Azure Monitor. A consulta de transformação é definida no
transformKql
elemento . - Para logs de recursos coletados com configurações de diagnóstico, adicione a transformação ao DCR padrão do espaço de trabalho. A tabela deve suportar transformações.
- Para logs coletados usando o Azure Monitor Agent (AMA), edite o DCR coletando dados para a tabela, adicionando uma transformação. Para obter um exemplo, consulte Práticas recomendadas e exemplos para transformações no Azure Monitor. A consulta de transformação é definida no
Perguntas Mais Frequentes
Como faço para migrar campos personalizados para um log de texto coletado com o agente herdado do Log Analytics (MMA)?
Considere migrar para o Azure Monitor Agent (AMA). O agente do Log Analytics está se aproximando do fim do suporte e você deve migrar para o Azure Monitor Agent (AMA). Os logs de texto coletados com o 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 Azure Monitor Agent.
A migração de campos personalizados para o KQL é obrigatória?
Não, você precisa migrar seus campos personalizados somente 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 terminar. Os dados que já foram processados e armazenados na tabela não serão afetados e permanecerão utilizáveis.
Perderei meus dados existentes nas 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.