Inserire dati dal flusso di Presepe in Azure Esplora dati
Stream presepe è un motore di elaborazione che raccoglie, elabora e trasmette in modo sicuro i dati degli eventi del computer da qualsiasi origine. Consente di analizzare ed elaborare i dati per qualsiasi destinazione per l'analisi e la gestione in modo sicuro.
Questo articolo illustra come inserire dati con il flusso del presepe.
Per un elenco completo dei connettori dati, vedere Panoramica delle integrazioni dei dati.
Prerequisiti
- Un account di Stream di Presepe
- Un cluster e un database di Azure Esplora dati con i criteri di conservazione e cache predefiniti.
- Ambiente di query. Per altre informazioni, vedere Panoramica delle integrazioni di query.
- URI del cluster Kusto per il valore TargetURI nel cluster> di formatohttps://ingest-<.<region.kusto.windows.net>. Per altre informazioni, vedere Aggiungere una connessione cluster.
Creare un'entità servizio Microsoft Entra
L'entità servizio Microsoft Entra può essere creata tramite il Portale di Azure o a livello di programmazione, come nell'esempio seguente.
Questa entità servizio è l'identità usata dal connettore per scrivere dati nella tabella in Kusto. Si possono concedere le autorizzazioni a questa entità servizio per accedere alle risorse Kusto.
Accedere alla sottoscrizione di Azure usando l'interfaccia della riga di comando di Azure. Eseguire quindi l'autenticazione nel browser.
az login
Scegliere la sottoscrizione per ospitare l'entità di sicurezza. Questo passaggio è necessario quando si hanno più sottoscrizioni.
az account set --subscription YOUR_SUBSCRIPTION_GUID
Creare l'entità servizio. In questo esempio l'entità servizio viene chiamata
my-service-principal
.az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
Dai dati JSON restituiti copiare
appId
,password
etenant
per un uso futuro.{ "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "displayName": "my-service-principal", "name": "my-service-principal", "password": "00001111-aaaa-2222-bbbb-3333cccc4444", "tenant": "00001111-aaaa-2222-bbbb-3333cccc4444" }
L'applicazione Microsoft Entra e l'entità servizio sono state create.
Creare una tabella di destinazione
Creare una tabella di destinazione per i dati in ingresso, e un mapping di inserimento per mappare le colonne di dati inseriti alle colonne della tabella di destinazione.
Nell'editor di query eseguire il comando di creazione della tabella seguente, sostituendo il segnaposto NomeTabella con il nome della tabella di destinazione:
.create table <TableName> (_raw: string, _time: long, cribl_pipe: dynamic)
Eseguire il comando di mapping di inserimento seguente, sostituendo i segnaposto TableName con il nome della tabella di destinazione e TableNameMapping con il nome del mapping di inserimento:
.create table <TableName> ingestion csv mapping '<TableNameMapping>' 'CriblLogMapping' '[{"Name":"_raw","DataType":"string","Ordinal":"0","ConstValue":null},{"Name":"_time","DataType":"long","Ordinal":"1","ConstValue":null},{"Name":"cribl_pipe","DataType":"dynamic","Ordinal":"2","ConstValue":null}]'
Usare l'entità servizio da Creare un'entità servizio Microsoft Entra database ingestor per concedere l'autorizzazione per lavorare con il database. Per maggiori informazioni, vedere gli Esempi. Sostituire il segnaposto DatabaseName con il nome del database di destinazione e ApplicationID con il
AppId
valore salvato durante la creazione di un'entità servizio Microsoft Entra..add database <DatabaseName> ingestors ('aadapp=<ApplicationID>') 'App Registration'
Creare la destinazione del flusso del presepe
La sezione seguente descrive come creare una destinazione del flusso presepe che scrive i dati nella tabella in Kusto. Per ogni tabella è necessario un connettore di destinazione di Stream a presepe separato.
Selezionare la destinazione
Per connettere Il flusso di presepe al tavolo:
Nel riquadro di spostamento superiore in Presepe selezionare Gestisci e quindi selezionare un gruppo di lavoro.
Selezionare Routing>QuickConnect (Stream)>Add Destination (Aggiungi destinazione).
Nella finestra Configura nuova destinazione Di connessione rapida scegliere Azure Esplora dati e quindi Aggiungi ora.
Configurare le impostazioni generali
Nella finestra Nuovo Esplora dati impostare le impostazioni seguenti in Impostazioni generali:
Impostazione | valore | Descrizione |
---|---|---|
Output ID | <OutputID>, ad esempio KustoDestination | Nome usato per identificare la destinazione. |
Modalità di inserimento | Invio in batch (impostazione predefinita) o streaming | Impostazioni per la modalità di inserimento. L'invio in batch consente alla tabella di eseguire il pull di batch di dati da un contenitore di archiviazione presepe durante l'inserimento di grandi quantità di dati in un breve periodo di tempo. Lo streaming invia i dati direttamente alla tabella KQL di destinazione. Lo streaming è utile per l'inserimento di piccole quantità di dati, ad esempio l'invio di un avviso critico in tempo reale. Lo streaming può ottenere una latenza inferiore rispetto all'invio in batch. Se la modalità di inserimento è impostata su Streaming, è necessario abilitare un criterio di streaming. Per altre informazioni, vedere Criteri di inserimento in streaming. |
Cluster base URI | URI di base | URI di base. |
URI del servizio di inserimento | URI di inserimento | Visualizza quando è selezionata la modalità batch . URI di inserimento. |
Nome database | <DatabaseName> | Nome del database di destinazione. |
Nome tabella | <TableName> | Nome della tabella di destinazione. |
Convalidare le impostazioni del database | Sì (impostazione predefinita) o No. | Convalida le credenziali dell'app dell'entità servizio immesse al momento del salvataggio o dell'avvio della destinazione. Convalida il nome della tabella, tranne quando l'oggetto add mapping è attivo. Questa impostazione deve essere disabilitata se l'app non ha entrambi i ruoli Visualizzatore database e Visualizzatore tabelle. |
Aggiungere un oggetto mapping | Sì o No (impostazione predefinita). | Visualizzato solo quando è selezionata la modalità batch anziché il campo di testo mapping dati predefinito. Se si seleziona Sì , viene aperta una finestra per immettere un mapping dei dati come oggetto JSON. |
Mapping dei dati | Nome dello schema di mapping definito nel passaggio Creare una tabella di destinazione . | Nome dello schema di mapping. Visualizzazione predefinita quando l'opzione Aggiungi oggetto mapping è impostata su No. |
Compressione | gzip (impostazione predefinita) | Quando il formato dati è impostato su Parquet, La compressione non è disponibile. |
Formato dati | JSON (impostazione predefinita), Raw o Parquet. | Formato dati. Parquet è disponibile solo in modalità batch e supportato solo in Linux. |
Comportamento di backpressure | Blocca (impostazione predefinita) o Rilascia | Scegliere se bloccare o eliminare eventi quando i ricevitori esercitano la pressione di backpressure. |
Tag | Valori facoltativi | Tag facoltativi per filtrare e raggruppare le destinazioni nella pagina Gestisci destinazioni di Stream di Presepe. Usare una scheda o una restituzione hard tra i nomi dei tag. Questi tag non vengono aggiunti agli eventi elaborati. |
Al termine, selezionare Avanti.
Impostazioni di autenticazione
Selezionare Impostazioni di autenticazione nella barra laterale. Usare i valori salvati in Creare un'entità servizio Microsoft Entra insieme all'URI di base come indicato di seguito:
Impostazione | valore | Descrizione |
---|---|---|
ID tenant | <TenantID> | Usare il tenant valore salvato in Creare un'entità servizio Microsoft Entra. |
ID client | <ClientID> | Usare i appId valori salvati in Creare un'entità servizio Microsoft Entra. |
Scope | <baseuri>/.default |
Usare il valore dell'URI di base per l'URI di base. |
Metodo di autenticazione | Segreto client, segreto client (segreto di testo) o Certificato | Le opzioni sono Segreto client Usare il segreto client dell'applicazione Microsoft Entra creata in Creare un'entità servizio Microsoft Entra per il segreto client. Per Certificato il certificato usa la chiave pubblica registrata/verrà registrata per l'applicazione Microsoft Entra creata in Creare un'entità servizio Microsoft Entra. |
Quindi seleziona Avanti.
Coda persistente
Visualizza quando la modalità di inserimento è impostata su Streaming e il comportamento di Backpressure è impostato su Coda persistente.
Impostazione | valore | Descrizione |
---|---|---|
Dimensioni massime file | 1 MB (valore predefinito) | Dimensione massima del file della coda da raggiungere prima di chiudere il file. Includere unità come KB o MB quando si immette un numero. |
Dimensioni massime coda | 5 GB (impostazione predefinita) | Quantità massima di spazio su disco che la coda può utilizzare in ogni processo di lavoro prima che la destinazione arresti la coda dei dati. Valore obbligatorio di numeri positivi con unità come KB, MB o GB. Il valore massimo è 1 TB. |
Percorso del file di coda | $CRIBL_HOME/state/queues (predefinito) |
Percorso del file di coda permanente. Stream presepe aggiunge /<worker‑id>/<output‑id> a questo valore. |
Compressione | Nessuno (impostazione predefinita), gzip | Metodo di compressione da utilizzare per comprimere i dati persistenti, al termine della chiusura. |
Comportamento completo della coda | Blocca o rilascia | Scegliere di bloccare o eliminare eventi quando la coda esercita la pressione di backpressure a causa di una capacità disco insufficiente o completa del disco. |
Ordinamento rigoroso | Sì (impostazione predefinita) o No | Se impostato su Sì , gli eventi vengono inoltrati in base al primo ordinamento. Impostare su No per inviare nuovi eventi prima degli eventi in coda precedenti. |
Limite di frequenza di svuotamento (EPS) | 0 (predefinito) | Questa opzione viene visualizzata quando l'ordinamento strict è impostato su No, per consentire di impostare una frequenza di limitazione (in eventi al secondo) durante la scrittura dalla coda ai ricevitori. La limitazione della frequenza di svuotamento degli eventi in coda aumenta la velocità effettiva di connessione nuova o attiva. Zero disabilita la limitazione. |
Cancella coda persistente | ND | Selezionare questa opzione per eliminare i file attualmente in coda per il recapito alla destinazione. È necessario confermare questa azione perché i dati in coda vengono eliminati definitivamente senza essere recapitati. |
Al termine, selezionare Avanti.
Impostazioni di elaborazione
Impostazione | valore | Descrizione |
---|---|---|
Pipeline | <\defined_pipeline> | Una pipeline facoltativa per elaborare i dati prima di inviarli usando questo output. |
Campi di sistema | cribl_pipe (impostazione predefinita), cribl_host , cribl_input cribl_output , cribl_route , ocribl_wp |
Elenco di campi aggiunti automaticamente agli eventi prima dell'invio alla destinazione. Sono supportati caratteri jolly. |
Al termine, selezionare Avanti.
Impostazioni Parquet
Visualizza quando Parquet è selezionato per Formato dati.
La scelta di Parquet apre una scheda Impostazioni Parquet per selezionare lo schema Parquet.
Impostazione | valore | Descrizione |
---|---|---|
Schema automatico | On o Off | Selezionare Sì per generare uno schema Parquet in base agli eventi di ogni file Parquet scritto dal flusso di presepe. |
Schema Parquet | elenco a discesa | Visualizza quando lo schema automatico è impostato su Disattivato per consentire di selezionare lo schema Parquet. |
Versione Parquet | 1.0, 2.4, 2.6 (impostazione predefinita) | La versione determina i tipi di dati supportati e il modo in cui vengono rappresentati. |
Versione della pagina dati | V1, V2 (impostazione predefinita) | Formato di serializzazione della pagina dati. Se il lettore Parquet non supporta Parquet V2, usare V1. |
Limite di righe di gruppo | 1000 (impostazione predefinita) | Numero massimo di righe che ogni gruppo può contenere. |
Dimensioni della pagina | 1 MB (valore predefinito) | Dimensioni della memoria di destinazione per i segmenti di pagina. I valori inferiori possono migliorare la velocità di lettura, mentre valori più elevati possono migliorare la compressione. |
Registrare righe non valide | Sì o No | Quando si seleziona Sì e il livello di log è impostato su debug , restituisce fino a 20 righe univoche ignorate a causa della mancata corrispondenza del formato dei dati. |
Scrivere statistiche | Attivato (impostazione predefinita) o Disattivato | Selezionare Sì se sono configurati strumenti di visualizzazione delle statistiche Parquet. |
Scrivere indici di pagina | Attivato (impostazione predefinita) o Disattivato | Selezionare Sì se il lettore Parquet usa le statistiche sull'indice della pagina Parquet per abilitare l'ignorato della pagina. |
Checksum della pagina di scrittura | On o Off | Selezionare Sì se si usano gli strumenti Parquet per controllare l'integrità dei dati usando i checksum della pagina Parquet. |
Metadati (facoltativo)* | Proprietà dei metadati del file di destinazione che possono essere incluse come coppie chiave-valore. |
Nuovi tentativi
Visualizza quando la modalità di inserimento è impostata su Streaming.
Impostazione | valore | Descrizione |
---|---|---|
Onorare l'intestazione Retry-After | Sì o No | Indica se rispettare un'intestazione Retry-After . Se abilitata, un'intestazione ricevuta Retry-After ha la precedenza prima di altre opzioni configurate nella sezione Tentativi, purché l'intestazione specifichi un ritardo di 180 secondi o inferiore. In caso contrario, Retry-After le intestazioni vengono ignorate. |
Impostazioni per le richieste HTTP non riuscite | Codici di stato HTTP | Elenco di codici di stato HTTP da riprovare automaticamente se non riescono a connettersi. Stream presepele ritenta automaticamente 429 richieste non riuscite. |
Tentativi di timeout richieste HTTP con timeout | On o Off | Se impostata, diventano disponibili più impostazioni di comportamento di ripetizione dei tentativi. |
Intervallo di pre-backoff (ms) | 1000 ms (impostazione predefinita) | Tempo di attesa prima di riprovare. |
Moltiplicatore backoff | 2 s (impostazione predefinita) | Usato come base per l'algoritmo di backoff esponenziale per determinare l'intervallo tra i tentativi. |
Limite backoff (ms) | 10.000 ms (impostazione predefinita) | Intervallo di backoff massimo per il nuovo tentativo di streaming finale. I valori possibili sono compresi tra 10.000 millisecondi (10 secondi) e 180.000 millisecondi (3 minuti). |
Al termine, selezionare Avanti.
Impostazioni avanzate
Selezionare Impostazioni avanzate nella barra laterale. Di seguito vengono descritte le impostazioni avanzate quando viene selezionato Batch:
Impostazione | valore | Descrizione |
---|---|---|
Scarica immediatamente | Sì o No (impostazione predefinita). | Impostare su Sì per eseguire l'override dell'aggregazione dei dati in Kusto. Per altre informazioni, vedere Procedure consigliate per la libreria di inserimento Kusto. |
Conservare il BLOB in caso di esito positivo | Sì o No (impostazione predefinita). | Impostare su Sì per conservare il BLOB di dati al completamento dell'inserimento. |
Tag extent | <\ExtentTag, ET2,...> | Impostare i tag, se necessario, in extent partizionati della tabella di destinazione. |
Applicare l'univocità tramite i valori dei tag | Selezionare Aggiungi valore per specificare un ingest-by elenco di valori da usare per filtrare gli extent in ingresso ed eliminare gli extent corrispondenti a un valore elencato. Per altre informazioni, vedere Extent (partizioni di dati) |
|
Livello report | DoNotReport, FailuresOnly (impostazione predefinita) e FailuresAndSuccesses. | Livello di segnalazione dello stato di inserimento. |
Metodo report | Coda (impostazione predefinita), Tabella e QueueAndTable (scelta consigliata). | Destinazione per la creazione di report sullo stato di inserimento. |
Campi aggiuntivi | Aggiungere altre proprietà di configurazione, se necessario, per inviare al servizio di inserimento. | |
Percorso di gestione temporanea | /tmp (predefinito) |
Percorso del file system locale in cui memorizzare nel buffer i file prima di comprimerli e spostarli nella destinazione finale. Presepe consiglia una posizione stabile e ad alte prestazioni. |
Espressione suffisso nome file | .${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""} (impostazione predefinita) |
Espressione JavaScript racchiusa tra virgolette o backticks usate come suffisso del nome file di output. format può essere JSON o non elaborato e __compression può essere none o gzip. Alla fine dei nomi di file viene aggiunta una sequenza casuale di sei caratteri per evitare che vengano sovrascritti. |
Dimensioni massime file (MB) | 32 MB (impostazione predefinita) | Dimensione massima del file di output non compresso che i file possono raggiungere prima della chiusura e vengono spostati nel contenitore di archiviazione. |
Tempo massimo di apertura file (sec) | 300 secondi (impostazione predefinita) | Quantità massima di tempo, in secondi, per scrivere in un file prima che venga chiusa e spostata nel contenitore di archiviazione. |
Tempo massimo di inattività del file (sec) | 30 secondi (impostazione predefinita) | Quantità massima di tempo, in secondi, per mantenere aperti i file inattivi prima della chiusura e spostati nel contenitore di archiviazione. |
Numero massimo di file aperti | 100 (impostazione predefinita) | Numero massimo di file da mantenere aperti contemporaneamente prima che i file aperti meno recenti vengano chiusi e spostati nel contenitore di archiviazione. |
Numero massimo di parti di file simultanee | 1 (impostazione predefinita) | Numero massimo di parti di file da caricare contemporaneamente. Il valore predefinito è 1 e il valore massimo è 10. L'impostazione del valore su uno consente l'invio di una parte alla volta, in sequenza. |
Rimuovere i dir di staging vuoti | Sì (impostazione predefinita) o No | Quando si attiva o disattiva il flusso di presepe elimina le directory di staging vuote dopo lo spostamento dei file. Ciò impedisce la proliferazione di directory vuote orfane. Se abilitata, espone il periodo di pulizia della gestione temporanea. |
Periodo di pulizia della gestione temporanea | 300 (impostazione predefinita) | Quantità di tempo in secondi fino a quando non vengono eliminate directory vuote quando è abilitata l'opzione Rimuovi dir di staging. Visualizza quando Remove empty staging dirs (Rimuovi dir di staging vuoti) è impostato su Sì. Il valore minimo è 10 secondi e massimo è 86.400 secondi (ogni 24 ore). |
Ambiente | Quando la configurazione è vuota (impostazione predefinita) è abilitata ovunque. Se si usa GitOps, è possibile specificare il ramo Git in cui si vuole abilitare la configurazione. |
Al termine, selezionare Salva.
Configurazione connessione
Nella finestra Configurazione connessione visualizzata selezionare Connessione Passthru e quindi Salva. Il connettore inizia a accodare i dati.
Confermare l'inserimento dei dati
Dopo l'arrivo dei dati nella tabella, verificare il trasferimento dei dati controllando il conteggio delle righe:
<Tablename> | count
Confermare gli inserimenti accodati negli ultimi cinque minuti:
.show commands-and-queries | where Database == "" and CommandType == "DataIngestPull" | where LastUpdatedOn >= ago(5m)
Verificare che non siano presenti errori nel processo di inserimento:
- Per l'invio in batch:
.show ingestion failures
- Per lo streaming:
.show streamingingestion failures | order by LastFailureOn desc
Verificare i dati nella tabella:
<TableName> | take 10
Per esempi di query e indicazioni, vedere Scrivere query in KQL e Linguaggio di query Kusto documentazione.