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:
- Configurare la trasformazione di un'area di lavoro per una tabella in un'area di lavoro Log Analytics.
- Scrivere una query di log per la trasformazione di un'area di lavoro.
Prerequisiti
Per completare questa esercitazione è necessario:
- Un'area di lavoro Log Analytics in cui si dispone almeno dei diritti di collaboratore.
- Autorizzazioni per creare oggetti regola di raccolta dati nell'area di lavoro.
- Tabella che contiene già alcuni dati.
- La tabella non può essere collegata alla regola di raccolta dati della trasformazione dell'area di lavoro.
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à.
Nel menu Aree di lavoro di Log Analytics nel portale di Azure selezionare Impostazioni di diagnostica>Aggiungi impostazione di diagnostica.
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.
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.
Aggiungere una trasformazione alla tabella
Dopo aver creato la tabella, è ora possibile creare la trasformazione da aggiungere alla tabella.
Nel menu Aree di lavoro di Log Analytics del portale di Azure selezionare Tabelle. Individuare la tabella
LAQueryLogs
e selezionare Crea trasformazione.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.
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.
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 tabellasource
senza modifiche.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
.- Le righe correlate all'esecuzione di query sulla tabella
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.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.
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.