Condividi tramite


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

Crea una tabella

Dopo aver creato un cluster e un database, è possibile creare una tabella.

  1. Eseguire il comando seguente nella finestra della query di database per creare una tabella:

    .create table logs (timestamp: datetime, message: string)
    
  2. 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.

  1. Modificare un nuovo file di testo che conterrà le impostazioni della pipeline obbligatorie (usando vi):

    vi test.conf
    
  2. 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.

  1. 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.

  2. Dopo alcuni minuti, eseguire la seguente query di Esplora dati per visualizzare i messaggi nella tabella definita:

    logs
    | order by timestamp desc
    
  3. Selezionare CTRL+C per uscire da Logstash

Pulire le risorse

Eseguire il comando seguente nel database per pulire la tabella logs:

.drop table logs