Esercitazione: Sostituire i campi personalizzati nell'area di lavoro Log Analytics con colonne personalizzate basate su KQL
I campi personalizzati sono una funzionalità di Monitoraggio di Azure che consente di estrarre in una colonna separata dati da una colonna di testo diversa della stessa tabella. La creazione di nuovi campi personalizzati verrà disabilitata a partire dal 31 marzo 2023. Le funzionalità dei campi personalizzati saranno deprecate e i campi personalizzati esistenti smetteranno di funzionare entro il 31 marzo 2026.
Esistono diversi vantaggi per l'uso delle trasformazioni tempo di inserimento basate su DCR per ottenere lo stesso risultato:
- È possibile applicare un set completo di funzioni stringa per modellare le colonne personalizzate.
- È possibile applicare più operazioni agli stessi dati. Ad esempio, estrarre una parte di un valore in una colonna separata e rimuovere la colonna originale.
- È possibile usare le trasformazioni in fase di inserimento nei modelli ARM per distribuire colonne personalizzate su larga scala.
Con l'introduzione di regole di raccolta dati (DCR), le trasformazioni basate su KQL sono il metodo standard di personalizzazione della tabella, sostituendo i campi personalizzati di legacy.
In questa esercitazione apprenderai a:
- Individuare campi personalizzati che richiedono la sostituzione
- Informazioni sul contenuto dei campi personalizzati
- Configurare la trasformazione in fase di inserimento per sostituire i campi personalizzati all'interno della tabella
Prerequisiti
- Area di lavoro Log Analytics con una tabella contenente campi personalizzati
- Privilegi di account sufficienti per creare e modificare le regole di raccolta dati (DCR)
Individuare i campi personalizzati per la sostituzione
Iniziare individuando campi personalizzati da sostituire. Se si conoscono già i campi personalizzati da sostituire, procedere con il passaggio successivo.
Passare all'area di lavoro Log Analytics in cui si trova la tabella con campi personalizzati.
Nel menu laterale selezionare Tabelle. Selezionare Gestisci tabella dal menu di scelta rapida per la tabella.
Verificare se le regole di raccolta dati (DCR) sono associate a una determinata tabella.
- Se nella sezione corrispondente sono presenti controller di dominio, significa che tutti i campi personalizzati pre-esistenti sono già stati implementati all'interno di tali controller di dominio o abbandonati al momento della creazione del DCR. Si esaminerà il contenuto dei campi personalizzati nel passaggio successivo di questa esercitazione e si determinerà se sono necessari altri aggiornamenti ai controller di dominio.
- Se alla tabella non sono associate regole di raccolta dati, tutte le colonne di una determinata tabella con nomi che terminano con "_CF" saranno campi personalizzati soggetti alla sostituzione.
Chiudere la finestra di dialogo delle proprietà della tabella e selezionare Modifica schema dal menu di scelta rapida della tabella. Scorrere fino alla fine della pagina in cui sono elencate le colonne personalizzate. Queste colonne terminano con _CF.
Verificare i nomi di queste colonne perché si determinerà il relativo contenuto nel passaggio successivo.
Informazioni sul contenuto del campo personalizzato
Poiché non è possibile esaminare direttamente la definizione del campo personalizzato, è necessario eseguire una query sulla tabella per determinare la formula del campo personalizzato.
Selezionare Log nel menu laterale ed eseguire una query per ottenere un esempio di dati dalla tabella.
Individuare le colonne annotate nel passaggio precedente ed esaminarne il contenuto.
- Se la colonna non è vuota e sono presenti controller di dominio associati alla tabella, la logica del campo personalizzata è già stata implementata con la trasformazione. Non è richiesta alcuna azione
- Se la colonna è vuota (o non è presente nei risultati della query) e sono presenti controller di dominio associati alla tabella, la logica del campo personalizzata non è stata implementata con il DCR. Aggiungere una trasformazione al flusso di dati nel DCR esistente.
- Se la colonna non è vuota e non sono presenti controller di dominio associati alla tabella, la logica del campo personalizzata deve essere implementata come trasformazione nel DCR dell'area di lavoro.
Esaminare il contenuto del campo personalizzato e determinare la logica in cui viene calcolata. I campi personalizzati in genere calcolano le sottostringhe di altre colonne nella stessa tabella. Determinare la colonna da cui provengono i dati e la parte della stringa da cui estrae.
Creare trasformazione
È ora possibile creare il frammento di codice KQL necessario e aggiungerlo a un DCR. Questa logica viene applicata a ogni record durante l'inserimento nell'area di lavoro.
Modificare la query per la tabella usando KQL per replicare la logica del campo personalizzata. Se sono presenti più campi personalizzati da sostituire, è possibile combinarne la logica di calcolo in una singola istruzione.
- Usare l’operatore di analisi per la ricerca basata su criteri di una sottostringa all'interno di una stringa.
- Usare la funzione extract() per la ricerca di sottostringa basata su regex.
- Le funzioni stringa come split(), substring() e molti altri possono essere utili.
Determinare dove deve essere inserita la nuova definizione KQL della colonna personalizzata.
- Per i log raccolti usando Agente di Monitoraggio di Azure (AMA), modificare il DCR raccogliendo i dati per la tabella, aggiungendo una trasformazione. Per un esempio, vedere Procedure consigliate ed esempi per le trasformazioni in Monitoraggio di Azure. La query di trasformazione viene definita nell'elemento
transformKql
. - Per i log delle risorse raccolti con le impostazioni di diagnostica, aggiungere la trasformazione all'area di lavoro predefinita DCR. La tabella deve supportare le trasformazioni.
- Per i log raccolti usando Agente di Monitoraggio di Azure (AMA), modificare il DCR raccogliendo i dati per la tabella, aggiungendo una trasformazione. Per un esempio, vedere Procedure consigliate ed esempi per le trasformazioni in Monitoraggio di Azure. La query di trasformazione viene definita nell'elemento
Domande frequenti
Come si esegue la migrazione di campi personalizzati per un log di testo raccolto con l'agente di Log Analytics di legacy (MMA)?
Valutare la possibilità di eseguire la migrazione all'agente di Monitoraggio di Azure (AMA). L'agente di Log Analytics sta raggiungendo la fine del supporto ed è consigliabile eseguire la migrazione all'agente di Monitoraggio di Azure (AMA). I log di testo raccolti con AMA usano la logica di analisi dei log definita sotto forma di trasformazioni KQL dall'inizio. I campi personalizzati non sono necessari e non sono supportati nei log di testo raccolti dall'agente di Monitoraggio di Azure.
La migrazione dei campi personalizzati a KQL è obbligatoria?
No, è necessario eseguire la migrazione dei campi personalizzati solo se si desidera che le colonne personalizzate vengano popolate. Se non si esegue la migrazione dei campi personalizzati, le colonne corrispondenti smetteranno di essere popolate al termine del supporto dei campi personalizzati. I dati già elaborati e archiviati nella tabella non saranno interessati e rimarranno utilizzabili.
Se non si esegue la migrazione dei campi personalizzati, si perderanno i dati esistenti nelle colonne corrispondenti?
No, i campi personalizzati vengono calcolati al momento dell'inserimento dati. L'eliminazione della definizione del campo o la loro mancata migrazione nel tempo non influisce sui dati inseriti in precedenza.