Inserire dati da Logstash in Esplora dati di Azure
Importante
Questo connettore può essere usato in Intelligenza in tempo reale in Microsoft Fabric. Usare le istruzioni in questo articolo con le eccezioni seguenti:
- Se necessario, creare database usando le istruzioni riportate in Creare un database KQL.
- Se necessario, creare tabelle usando le istruzioni riportate in Creare una tabella vuota.
- Ottenere URI di query o inserimento usando le istruzioni in URI di copia.
- Eseguire query in un set di query KQL.
Logstash è una pipeline di elaborazione dati lato server e open source che inserisce i dati da più origini contemporaneamente, li trasforma e quindi li invia all'accantonamento preferito. In questo articolo si invieranno tali dati ad Azure Esplora dati, un servizio di esplorazione dei dati rapido e altamente scalabile per i dati di log e telemetria. Inizialmente si creerà una tabella e un mapping dei dati in un cluster di test, quindi si indirirà Logstash per inviare i dati nella tabella e convalidare i risultati.
Nota
Questo connettore supporta attualmente solo il formato dati JSON.
Prerequisiti
- Un account Microsoft o un'identità utente di Microsoft Entra. Non è necessaria una sottoscrizione di Azure.
- Un cluster e un database di Esplora dati di Azure. Creare un cluster e un database.
- Istruzioni di installazione di Logstash versione 6+.
Crea una tabella
Dopo aver creato un cluster e un database, è possibile creare una tabella.
Eseguire il comando seguente nella finestra della query di database per creare una tabella:
.create table logs (timestamp: datetime, message: string)
Eseguire il comando seguente per verificare che la nuova tabella
logs
sia stata creata e che sia vuota:logs | count
Creare un mapping
Il mapping viene usato da Esplora dati di Azure per trasformare i dati in ingresso nello schema della tabella di destinazione. Il comando seguente crea un nuovo mapping denominato basicmsg
che estrae le proprietà dai dati JSON in ingresso, come indicato dal path
, e le inserisce nella column
.
Eseguire il comando seguente nella finestra di query:
.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'
Installare il plug-in output Logstash
Il plug-in di output Logstash comunica con Esplora dati di Azure e invia i dati al servizio. Per altre informazioni, vedere Plug-in Logstash.
In una shell dei comandi passare alla directory radice Logstash e quindi eseguire il comando seguente per installare il plug-in:
bin/logstash-plugin install logstash-output-kusto
Configurare Logstash per generare un set di dati di esempio
Logstash può generare eventi di esempio che possono essere usati per verificare una pipeline end-to-end. Se si usa già Logstash e si ha accesso al proprio flusso di eventi, passare alla sezione successiva.
Nota
Se si usano i propri dati, modificare la tabella e gli oggetti di mapping definiti nei passaggi precedenti.
Modificare un nuovo file di testo che conterrà le impostazioni della pipeline obbligatorie (usando vi):
vi test.conf
Incollare le impostazioni seguenti che istruiranno Logstash a generare 1000 eventi di test:
input { stdin { } generator { message => "Test Message 123" count => 1000 } }
Questa configurazione include anche il plug-in di input stdin
che consentirà di scrivere più messaggi autonomamente (assicurarsi di usare Invio per inviarli nella pipeline).
Configurare Logstash in moda da inviare i dati a Esplora dati di Azure
Incollare le impostazioni seguenti nello stesso file di configurazione usato nel passaggio precedente. Sostituire tutti i segnaposto con i valori pertinenti per l'installazione. Per altre informazioni, vedere Creazione di un'applicazione Microsoft Entra.
output {
kusto {
path => "/tmp/kusto/%{+YYYY-MM-dd-HH-mm-ss}.txt"
ingest_url => "https://ingest-<cluster name>.kusto.windows.net/"
app_id => "<application id>"
app_key => "<application key/secret>"
app_tenant => "<tenant id>"
database => "<database name>"
table => "<target table>" # logs as defined above
json_mapping => "<mapping name>" # basicmsg as defined above
}
}
Nome parametro | Descrizione |
---|---|
path | Il plug-in Logstash scrive gli eventi in file temporanei prima di inviarli a Esplora dati di Azure. Questo parametro include un percorso in cui devono essere scritti i file e un'espressione di data per la rotazione dei file per attivare un'operazione di caricamento nel servizio Esplora dati di Azure. |
ingest_url | Endpoint Kusto per le comunicazioni relative l'inserimento. |
app_id, app_key e app_tenant | Credenziali necessarie per connettersi a Esplora dati di Azure. Assicurarsi di usare un'applicazione con privilegi di inserimento. |
database | Nome del database per inserire gli eventi. |
table | Nome tabella di destinazione per posizionare gli eventi. |
json_mapping | Il mapping viene usato per eseguire il mapping di una stringa json di eventi in ingresso nel formato di riga corretto (definisce quale proprietà inserire in quale colonna). |
Eseguire Logstash
A questo momento è possibile eseguire Logstash e testare le impostazioni.
In una shell dei comandi passare alla directory radice Logstash e quindi eseguire il comando seguente:
bin/logstash -f test.conf
Le informazioni saranno visualizzate sullo schermo oltre ai 1000 messaggi generati dalla configurazione di esempio. A questo punto, è possibile immettere anche altri messaggi manualmente.
Dopo alcuni minuti, eseguire la seguente query di Esplora dati per visualizzare i messaggi nella tabella definita:
logs | order by timestamp desc
Selezionare CTRL+C per uscire da Logstash
Pulire le risorse
Eseguire il comando seguente nel database per pulire la tabella logs
:
.drop table logs