Esercitazione: Aggiungere una trasformazione in una regola di raccolta dati di un'area di lavoro utilizzando il portale di Azure

Questa esercitazione illustra la configurazione di una trasformazione di esempio in una regola di raccolta dati dell'area di lavoro usando il portale di Azure. Le trasformazioni in Monitoraggio di Azure consentono di filtrare o modificare i dati in ingresso prima di inviarli alla destinazione. Le trasformazioni dell'area di lavoro forniscono il supporto per le trasformazioni in fase di inserimento per i carichi di lavoro che non usano ancora la pipeline di inserimento dati di Monitoraggio di Azure.

Le trasformazioni dell'area di lavoro vengono archiviate insieme in un'unica regola di raccolta dati per l'area di lavoro. Ogni trasformazione è associata a una tabella specifica. La trasformazione verrà applicata a tutti i dati inviati a questa tabella da qualsiasi flusso di lavoro in cui non è in uso una DCR.

Nota

In questa esercitazione viene usato il portale di Azure per configurare la trasformazione di un'area di lavoro. Per la stessa esercitazione con i modelli di Azure Resource Manager e l'API REST, vedere Esercitazione: Aggiungere una trasformazione nella regola di raccolta dati dell'area di lavoro a Monitoraggio di Azure usando i modelli di Resource Manager.

In questa esercitazione apprenderai a:

Prerequisiti

Per completare questa esercitazione è necessario:

Panoramica dell'esercitazione

In questa esercitazione, si ridurranno i requisiti di archiviazione per la tabella LAQueryLogs filtrando determinati record. Si potrà anche rimuovere il contenuto di una colonna durante l'analisi dei dati della colonna in modo da archiviare una parte di dati in una colonna personalizzata. La tabella LAQueryLogs viene creata quando si abilita il controllo delle query di log in un'area di lavoro. È possibile usare questo stesso processo di base per creare una trasformazione per qualsiasi tabella supportata in un'area di lavoro di Log Analytics.

In questa esercitazione viene usato il portale di Azure, che fornisce una procedura guidata per eseguire il processo di creazione di una trasformazione della fase di inserimento. Dopo aver completato tutti i passaggi, si noterà che la procedura guidata:

  • Aggiorna lo schema della tabella con qualsiasi altra colonna della query.
  • Crea una regola di raccolta dati WorkspaceTransforms e la collega all'area di lavoro se non è già collegata una regola di raccolta dati predefinita.
  • Crea una trasformazione della fase di inserimento e la aggiunge alla regola di raccolta dati.

Abilitare i log di controllo delle query

È necessario abilitare il controllo delle query per l'area di lavoro per creare la tabella LAQueryLogs che verrà abilitata. Questo passaggio non è necessario per tutte le trasformazioni della fase di inserimento. È sufficiente generare i dati di esempio con cui si lavorerà.

  1. Nel menu Aree di lavoro di Log Analytics nel portale di Azure selezionare Impostazioni di diagnostica>Aggiungi impostazione di diagnostica.

    Screenshot che mostra le impostazioni di diagnostica.

  2. Immettere un nome per le impostazioni di diagnostica. Selezionare l'area di lavoro in modo che i dati di controllo vengano archiviati nella stessa area di lavoro. Selezionare la categoria Audit e quindi selezionare Salva per salvare l'impostazione di diagnostica e chiudere la pagina delle impostazioni di diagnostica.

    Screenshot che mostra la nuova impostazione di diagnostica.

  3. Selezionare Log e quindi eseguire alcune query per popolare LAQueryLogs con alcuni dati. Queste query non devono restituire dati da aggiungere al log di controllo.

    Screenshot che mostra le query di log di esempio.

Aggiungere una trasformazione alla tabella

Dopo aver creato la tabella, è ora possibile creare la trasformazione da aggiungere alla tabella.

  1. Nel menu Aree di lavoro di Log Analytics del portale di Azure selezionare Tabelle. Individuare la tabella LAQueryLogs e selezionare Crea trasformazione.

    Screenshot che mostra la creazione di una nuova trasformazione.

  2. Poiché si tratta della prima trasformazione dell'area di lavoro, è necessario creare una regola di raccolta dati della trasformazione dell'area di lavoro. Se si creeranno trasformazioni per altre tabelle presenti nella stessa area di lavoro, verranno archiviate nella stessa DCR. Selezionare Creare una nuova regola di raccolta dati. I campo Sottoscrizione e Gruppo di risorse saranno già popolati per l'area di lavoro. Immettere un nome per la regola di raccolta dati e selezionare Fine.

    Il ritaglio di schermata mostra la creazione di una nuova regola di raccolta dati.

  3. Selezionare Avanti per visualizzare i dati di esempio della tabella. Mentre si definisce la trasformazione, il risultato verrà applicato ai dati di esempio. È quindi possibile valutare i risultati prima di applicarli ai dati effettivi. Selezionare Editor di trasformazione per definire la trasformazione.

    Screenshot che mostra i dati di esempio della tabella di log.

  4. Nell'editor di trasformazione è possibile visualizzare la trasformazione che sarà applicata ai dati prima dell'inserimento nella tabella. Una tabella virtuale denominata source rappresenta i dati in ingresso e dispone dello stesso set di colonne della tabella di destinazione. La trasformazione contiene inizialmente una query semplice che restituisce la tabella source senza modifiche.

  5. Modificare la query secondo l'esempio seguente:

    source
    | where QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

    Questa modifica apporta i cambiamenti seguenti:

    • Le righe correlate all'esecuzione di query sulla tabella LAQueryLogs sono state eliminate per ridurre lo spazio occupato, poiché queste voci di log non hanno alcuna utilità.
    • È stata aggiunta una colonna per il nome dell'area di lavoro su cui è stata eseguita una query.
    • I dati della colonna RequestContext sono stati rimossi per risparmiare spazio.

    Nota

    Usando il portale di Azure, l'output della trasformazione avvierà le modifiche allo schema della tabella, se necessario. Le colonne verranno aggiunte in modo che corrispondano all'output della trasformazione, se non esistono già. Assicurarsi che l'output non contenga colonne che non si desidera aggiungere alla tabella. Se l'output non include colonne già presenti nella tabella, le colonne non verranno rimosse , ma non verranno aggiunti nuovi dati.

    Tutte le colonne personalizzate aggiunte a una tabella predefinita devono terminare in _CF. Le colonne aggiunte a una tabella personalizzata non devono avere questo suffisso. Una tabella personalizzata ha un nome che termina in _CL.

  6. Copiare la query nell'editor di trasformazione e selezionare Esegui per visualizzare i risultati dei dati di esempio. È possibile verificare che la nuova colonna Workspace_CF si trovi nella query.

    Screenshot che mostra l'editor di trasformazione.

  7. Selezionare Applica per salvare la trasformazione e quindi Avanti per esaminare la configurazione. Selezionare Crea per aggiornare la regola di raccolta dati con la nuova trasformazione.

    Screenshot che mostra il salvataggio della trasformazione.

Testare la trasformazione

Attendere circa 30 minuti per rendere effettiva la trasformazione e quindi testarla eseguendo una query sulla tabella. Saranno interessati solo i dati inviati alla tabella dopo l'applicazione della trasformazione.

Ai fini di questa esercitazione, eseguire alcune query di esempio per inviare dati alla tabella LAQueryLogs. Includere alcune query su LAQueryLogs in modo da poter verificare che la trasformazione filtri questi record. Ora l'output include la nuova colonna Workspace_CF e non sono presenti record per LAQueryLogs.

Risoluzione dei problemi

In questa sezione vengono descritte le diverse condizioni di errore che è possibile ricevere e come correggerle.

IntelliSense in Log Analytics non riconosce nuove colonne nella tabella

L'aggiornamento della cache che gestisce IntelliSense potrebbe richiedere fino a 24 ore.

La trasformazione in una colonna dinamica non funziona

Un problema noto riguarda attualmente le colonne dinamiche. Una soluzione temporanea consiste nell'analizzare in modo esplicito i dati delle colonne dinamiche usando parse_json() prima di eseguire qualsiasi operazione su di esse.

Passaggi successivi