Crea un parser personalizzato

Important

Lakewatch è in anteprima privata. Per richiedere l'accesso, contatta il team del tuo account Azure Databricks.

Lakewatch fornisce parser integrati per le fonti di log di sicurezza comuni. Scrivi un parser personalizzato quando acquisisci una sorgente che nessun parser integrato copre, o quando vuoi personalizzare le colonne, i validatori o gli osservaibili prodotti da un parser integrato.

Un parser è una specifica versionata che descrive le colonne di output di una sorgente di log. Lo costruisci nell'editor di parser in modalità UI (un builder guidato point-and-click) o in modalità YAML, e viene creato nel tuo attuale ambiente Lakewatch. Per la sintassi completa (attributi del campo, tipi, timestamp, validatori e osservabili), vedi il riferimento Parser.

Apri l'editor di parser

Dalla barra laterale di Lakewatch, seleziona Parser, poi seleziona Crea parser. L'elenco dei parser mostra anche ogni parser integrato e personalizzato nel tuo ambiente, con il suo tipo, le fonti dati allegate e l'ultima versione.

Per partire da un parser integrato invece di uno vuoto, trovalo nella lista, apri il menu azioni ⋮ e seleziona Clona. La clonazione copia la definizione in un nuovo parser personalizzato modificabile (versione 1) e lascia invariato il parser integrato.

Definisci il parser

Nella pagina Aggiungi nuovo parser, assegna al parser un Nome parser e una Descrizione opzionale. Il nome è un nome visualizzato e può contenere spazi.

Compila le colonne di output in Campi e Osservabili, sia in modalità UI che YAML. Puoi passare da uno all'altro in qualsiasi momento.

Scegli i dati di esempio

Seleziona Scegli dati campione e scegli i record grezzi a cui si applica questo parser, così i campi provengono da dati reali. Puoi campionare da una fonte dati, una posizione esterna, un volume o una tabella.

Con i dati di esempio scelti, puoi opzionalmente selezionare Build parser con Genie: Genie legge l'esempio e bozza l'ora e i campi dell'evento per poterli esaminare e modificare.

Imposta l'ora dell'evento e i campi

  • Ora dell'evento (richiesta): il timestamp di ogni evento. Ogni parser ne ha bisogno prima di poter essere salvato. In YAML, questo è il blocco di livello superiore time (non un campo), perché guida il clustering e le prestazioni delle query. Vedi Tempo dell'evento.
  • Campi: le colonne della tabella analizzata e da dove ciascuna viene letta. Per ogni campo, impostare name, type, e (quando la chiave sorgente differisce dal nome della colonna) path; segnare i campi che devono essere presenti con required: true; aggiungere validate per vincolare un STRING campo, e observables per estrarre valori (come ip o email) nella colonna condivisa lw_observables . Esprimi oggetti annidati come VARIANT con interno fields, e gli elenchi come ARRAY con un element.

Definisci attentamente i tuoi campi. Durante la classificazione, un evento corrisponde solo quando i campi richiesti sono presenti, i campi tipizzati si convertono nei tipi dichiarati e tutti i validatori passano. Un evento che non corrisponde a nessun parser collegato viene instradato a un sentinel dead-letter invece di fallire la pipeline, quindi un parser troppo rigido elimina silenziosamente gli eventi.

Anteprima e salva

Nel pannello Anteprima dati , seleziona Anteprima per eseguire il parser sui dati campioni e conferma che le colonne, i tipi e gli osservabili estratti sono quelli che ti aspetti. Quando sembra giusto, seleziona Salva. Il salvataggio memorizza la definizione come versione 1, ti registra come proprietario e crea il parser nel tuo ambiente attuale. Un documento parser ha al massimo 256 KB.

Collega il parser a una sorgente dati

Collega il parser personalizzato a una sorgente dati allo stesso modo in cui colleghi un parser integrato. Puoi collegare più di un parser a una sorgente dati; gli eventi in arrivo vengono abbinati in ordine di dichiarazione e finiscono nel primo parser a cui corrispondono. Vedi Attach parsers.

Prova e ripeti

Dopo l'esecuzione della sorgente dati, conferma che il parser si comporti come previsto:

  • Consulta la tabella analizzata per verificare che colonne, tipi e osservabili estratti corrispondano a ciò che hai definito.
  • Controlla la presenza di eventi nella sentinella dead-letter. Gli eventi finiscono lì quando non corrispondono a nessun parser allegato: di solito perché manca un campo required, un valore non si converte nel tipo dichiarato, o un validatore fallisce.

Per perfezionare il parser, modificalo e salvalo. La modifica aggiunge una nuova versione immutabile; le versioni precedenti non vengono mai modificate e i numeri di versione non vengono mai riutilizzati. Una nuova versione mantiene il nome dell'analizzatore e cambia solo la definizione. Un'origine dati fissa una versione specifica, quindi aggiorna l'origine dati per recepire la nuova versione: vedi Modifica la versione di un parser. I dati analizzati esistenti non vengono rielaborati; la nuova versione si applica agli eventi ingeriti dopo che salvi la modifica.

Risorse aggiuntive