Esercitazione: Trasformare i log di testo durante l'inserimento nei log di Monitoraggio di Azure

Le trasformazioni in fase di inserimento consentono di filtrare o modificare i dati in ingresso prima che vengano archiviati in un'area di lavoro Log Analytics. Questo articolo illustra come scrivere una query KQL che trasforma i dati del log di testo e aggiunge la trasformazione a una regola di raccolta dati.

La procedura descritta qui presuppone che alcuni dati siano già stati inseriti da un file di testo, come descritto in Raccogliere log di testo con l'agente di Monitoraggio di Azure. In questa esercitazione si apprenderà come:

  1. Scrivere una query KQL per trasformare i dati inseriti.
  2. Modificare lo schema della tabella di destinazione.
  3. Aggiungere la trasformazione alla regola di raccolta dati.
  4. Verificare che la trasformazione funzioni correttamente.

Prerequisiti

Per completare questa procedura, è necessario:

  • Area di lavoro Log Analytics in cui si hanno almeno i diritti di collaboratore.
  • Regola di raccolta dati, endpoint di raccolta dati e tabella personalizzata, come descritto in Raccogliere log di testo con l'agente di Monitoraggio di Azure.
  • Una macchina virtuale, un set di scalabilità di macchine virtuali o un server locale abilitato per Arc che scrive i log in un file di testo. Requisiti dei file di testo:
    • Archiviare nell'unità locale del computer in cui è in esecuzione l'agente di Monitoraggio di Azure.
    • Delineare con una fine di riga.
    • Usare la codifica ASCII o UTF-8. Altri formati, ad esempio UTF-16, non sono supportati.
    • Non consentire la registrazione circolare, la rotazione dei log in cui il file viene sovrascritto con nuove voci o la ridenominazione in cui viene spostato un file e viene aperto un nuovo file con lo stesso nome.

Scrivere una query KQL per trasformare i dati inseriti

  1. Visualizzare i dati nella tabella personalizzata di destinazione in Log Analytics:

    1. Nella portale di Azure selezionare Aree di lavoro Log Analytics per l'area> di lavoro >Log Analytics Log.
    2. Eseguire una query di base sulla tabella dei log personalizzata per visualizzare i dati della tabella.
  2. Usare la finestra di query per scrivere e testare una query che trasforma i dati non elaborati nella tabella.

    Per informazioni sugli operatori KQL supportati dalle trasformazioni, vedere Struttura della trasformazione in Monitoraggio di Azure.

    Nota

    Le uniche colonne disponibili per applicare trasformazioni a sono TimeGenerated e RawData. Le altre colonne vengono aggiunte automaticamente alla tabella dopo la trasformazione e non sono disponibili al momento della trasformazione. La colonna _ResourceId non può essere usata nella trasformazione.

    Esempio

    L'esempio usa gli operatori KQL di base per analizzare i dati nella RawData colonna in tre nuove colonne, denominate Time Ingested, RecordNumbere RandomContent:

    • L'operatore extend aggiunge nuove colonne.
    • L'operatore project formatta l'output in modo che corrisponda alle colonne dello schema della tabella di destinazione:
    MyTable_CL
    | extend d=todynamic(RawData)  
    | project TimeGenerated,TimeIngested=tostring(d.Time), 
    RecordNumber=tostring(d.RecordNumber), 
    RandomContent=tostring(d.RandomContent), 
    RawData 
    

    Nota

    L'esecuzione di query sui dati della tabella in questo modo non modifica effettivamente i dati nella tabella. Monitoraggio di Azure applica la trasformazione nella pipeline di inserimento dati dopo aver aggiunto la query di trasformazione alla regola di raccolta dati.

  3. Formattare la query in una singola riga e sostituire il nome della tabella nella prima riga della query con la parola source.

    Ad esempio:

    source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData 
    
  4. Copiare la query formattata in modo da poterla incollare nella configurazione della regola di raccolta dati.

Modificare la tabella personalizzata per includere le nuove colonne

Aggiungere o eliminare colonne nella tabella personalizzata, in base alla query di trasformazione.

La query di trasformazione di esempio precedente aggiunge tre nuove colonne di tipo string:

  • TimeIngested
  • RecordNumber
  • RandomContent

Per supportare questa trasformazione, aggiungere queste tre nuove colonne alla tabella personalizzata.

Screenshot del riquadro Editor schema con le colonne TimeIngested, RecordNumber e RandomContent definite.

Applicare la trasformazione alla regola di raccolta dati

  1. Scegliere Regole> raccolta dati dal menu Monitoraggio.

  2. Selezionare Origini dati> per l'origine dati.

  3. Incollare la query di trasformazione formattata nel campo Trasforma nella scheda Origine dati della schermata Aggiungi origine dati.

  4. Seleziona Salva.

    Screenshot del riquadro Aggiungi origini dati con il campo Trasforma evidenziato.

Verificare che la trasformazione funzioni

Visualizzare i dati nella tabella personalizzata di destinazione e verificare che i dati vengano inseriti correttamente nella tabella modificata:

  1. Nella portale di Azure selezionare Aree di lavoro Log Analytics per l'area> di lavoro >Log Analytics Log.
  2. Eseguire una query di base sulla tabella dei log personalizzata per visualizzare i dati della tabella.

Passaggi successivi

Altre informazioni su: