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

As transformações em tempo de ingestão permitem filtrar ou modificar dados de entrada antes de serem armazenados em um espaço de trabalho do Log Analytics. Este artigo explica como escrever uma consulta KQL que transforma dados de log de texto e adiciona 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 Azure Monitor Agent. Neste tutorial, você:

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

Pré-requisitos

Para concluir este procedimento, você precisa:

  • Espaço de trabalho do Log Analytics onde 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 Azure Monitor Agent.
  • Uma VM, um Conjunto de Dimensionamento de Máquina Virtual ou um servidor local habilitado para Arc que grava logs em um arquivo de texto. Requisitos do arquivo de texto:
    • Armazene na unidade local da máquina na qual o Azure Monitor Agent está sendo executado.
    • Delinear com um fim de linha.
    • Use a codificação ASCII ou UTF-8. Outros formatos como UTF-16 não são suportados.
    • Não permita o registo circular, a rotação de registos em que o ficheiro é substituído por novas entradas ou a mudança de nome para onde um ficheiro é movido e um novo ficheiro 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 Espaços de trabalho do> Log Analytics seus logs do espaço de trabalho >do Log Analytics.
    2. Execute uma consulta básica na tabela de logs personalizada para exibir os dados da tabela.
  2. Use a janela de consulta para escrever e testar uma consulta que transforma os dados brutos em sua tabela.

    Para obter informações sobre os operadores KQL suportados pelas transformações, consulte Estrutura da transformação no Azure Monitor.

    Nota

    As únicas colunas disponíveis para aplicar transformações são TimeGenerated e RawData. Outras colunas são adicionadas à tabela automaticamente 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 RawData coluna em três novas colunas, chamadas Time Ingested, RecordNumbere RandomContent:

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

    Nota

    Consultar os dados da tabela dessa maneira não modifica os dados na tabela. O Azure Monitor aplica a transformação no pipeline de ingestão de dados depois de adicionar sua consulta de transformação à regra de coleta de dados.

  3. Formate a consulta em uma única 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 poder 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 em sua consulta de transformação.

O exemplo de consulta de transformação 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 à sua tabela personalizada.

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

Aplicar a transformação à sua regra de recolha de dados

  1. No menu Monitor, 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. Selecione Guardar.

    Captura de ecrã do painel Adicionar origens de dados com o campo Transformar realçado.

Verifique 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 Espaços de trabalho do> Log Analytics seus logs do espaço de trabalho >do Log Analytics.
  2. Execute uma consulta básica na tabela de logs personalizada para exibir os dados da tabela.

Próximos passos

Saiba mais sobre: