Tutorial: transformar logs de texto durante a ingestão nos Logs do Azure Monitor

As transformações em tempo de ingestão permitem que você filtre ou modifique dados de entrada antes que eles sejam armazenados em um workspace do Log Analytics. Este artigo explica como escrever uma consulta KQL que transforma dados de log de texto e adicionar a transformação a uma regra de coleta de dados.

O procedimento descrito aqui pressupõe que você já tenha ingerido alguns dados de um arquivo de texto, conforme descrito em Coletar logs de texto com o Agente do Azure Monitor. Neste tutorial, você aprenderá a:

  1. Escreva uma consulta KQL para transformar dados ingeridos.
  2. Modifique o esquema da tabela de destino.
  3. Adicione a transformação à regra de coleta de dados.
  4. Verifique se a transformação funciona corretamente.

Pré-requisitos

Para concluir este procedimento, você precisa de:

  • Workspace do Log Analytics em que você tem pelo menos direitos de colaborador.
  • Regra de coleta de dados, ponto de extremidade de coleta de dados e tabela personalizada, conforme descrito em Coletar logs de texto com o Agente do Azure Monitor.
  • Uma VM, um Conjunto de dimensionamento de máquinas virtuais ou um servidor local habilitado para Arc que grava logs em um arquivo de texto. Requisitos de arquivo de texto:
    • Armazene na unidade local do computador no qual o Agente do Azure Monitor está em execução.
    • Separe com o fim da linha.
    • Use a codificação ASCII ou UTF-8. Não há suporte para outros formatos, como UTF-16.
    • Não permita o registro em log circular, a rotação de log em que o arquivo é substituído por novas entradas ou a renomeação na qual um arquivo é movido e um novo arquivo com o mesmo nome é aberto.

Escrever uma consulta KQL para transformar dados ingeridos

  1. Exiba os dados na tabela personalizada de destino no Log Analytics:

    1. No portal do Azure, selecione Workspaces do Log Analytics> seu workspace do Log Analytics >Logs.
    2. Execute uma consulta básica na tabela de logs personalizada para exibir os dados da tabela.
  2. Use a janela de consulta para gravar e testar uma consulta que transforma os dados brutos em sua tabela.

    Para obter informações sobre os operadores KQL compatíveis com transformações, consulte Estrutura de transformação no Azure Monitor.

    Observação

    As únicas colunas disponíveis para aplicar as transformações são TimeGenerated e RawData. Outras colunas são automaticamente adicionadas à tabela após a transformação e não estão disponíveis no momento da transformação. A coluna _ResourceId não pode ser usada na transformação.

    Exemplo

    O exemplo usa operadores KQL básicos para analisar os dados na coluna RawData em três novas colunas, chamadas Time Ingested, RecordNumber e RandomContent:

    • O operador extend adiciona novas colunas.
    • O operador project formata a saída para corresponder às colunas do esquema de tabela de destino:
    MyTable_CL
    | extend d=todynamic(RawData)  
    | project TimeGenerated,TimeIngested=tostring(d.Time), 
    RecordNumber=tostring(d.RecordNumber), 
    RandomContent=tostring(d.RandomContent), 
    RawData 
    

    Observação

    Consultar dados de tabela dessa forma não modifica os dados na tabela. O Azure Monitor aplica a transformação no pipeline de ingestão de dados depois que você adiciona sua consulta de transformação à regra de coleta de dados.

  3. Formate a consulta em uma linha e substitua o nome da tabela na primeira linha da consulta pela palavra source.

    Por exemplo:

    source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData 
    
  4. Copie a consulta formatada para que você possa colá-la na configuração da regra de coleta de dados.

Modificar a tabela personalizada para incluir as novas colunas

Adicione ou exclua colunas em sua tabela personalizada, com base na consulta de transformação.

A consulta de transformação de exemplo acima adiciona três novas colunas do tipo string:

  • TimeIngested
  • RecordNumber
  • RandomContent

Para dar suporte a essa transformação, adicione essas três novas colunas à tabela personalizada.

Captura de tela do painel Editor de esquema com as colunas TimeIngested, RecordNumber e RandomContent sendo definidas.

Aplique a transformação à regra de coleta de dados

  1. No menu Monitorar, selecione Regras de Coleta de Dados> sua regra de coleta de dados.

  2. Selecione Fontes de dados> sua fonte de dados.

  3. Cole a consulta de transformação formatada no campo Transformar na guia Fonte de dados da tela Adicionar fonte de dados.

  4. Clique em Salvar.

    Captura de tela do painel Adicionar fontes de dados com o campo Transformar realçado.

Verificar se a transformação funciona

Exiba os dados na tabela personalizada de destino e verifique se os dados estão sendo ingeridos corretamente na tabela modificada:

  1. No portal do Azure, selecione Workspaces do Log Analytics> seu workspace do Log Analytics >Logs.
  2. Execute uma consulta básica na tabela de logs personalizada para exibir os dados da tabela.

Próximas etapas

Saiba mais sobre: