Share via


Mata in data från Logstash i Azure Data Explorer

Viktigt

Den här anslutningsappen kan användas i Realtidsanalys i Microsoft Fabric. Använd anvisningarna i den här artikeln med följande undantag:

Logstash är en databearbetningspipeline för serversidan med öppen källkod som matar in data från många källor samtidigt, transformerar data och sedan skickar data till din favoritlagring. I den här artikeln skickar du dessa data till Azure Data Explorer, vilket är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. Du skapar först en tabell och datamappning i ett testkluster och dirigerar sedan Logstash att skicka data till tabellen och verifiera resultaten.

Anteckning

Den här anslutningsappen stöder för närvarande endast json-dataformat.

Förutsättningar

Skapa en tabell

När du har ett kluster och en databas är det dags att skapa en tabell.

  1. Kör följande kommando i databasfrågefönstret för att skapa en tabell:

    .create table logs (timestamp: datetime, message: string)
    
  2. Kör följande kommando för att bekräfta att den nya tabellen logs har skapats och att den är tom:

    logs
    | count
    

Skapa en mappning

Mappning används av Azure Data Explorer för att omvandla inkommande data till måltabellschemat. Följande kommando skapar en ny mappning med namnet basicmsg som extraherar egenskaper från inkommande json enligt vad som anges av path och matar ut dem till column.

Kör följande kommando i frågefönstret:

.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'

Installera plugin-programmet för Logstash-utdata

Plugin-programmet för Logstash-utdata kommunicerar med Azure Data Explorer och skickar data till tjänsten. Mer information finns i Logstash-plugin-programmet.

I ett kommandogränssnitt navigerar du till Logstash-rotkatalogen och kör sedan följande kommando för att installera plugin-programmet:

bin/logstash-plugin install logstash-output-kusto

Konfigurera Logstash att generera en exempeldatamängd

Logstash kan generera exempelhändelser som kan användas för att testa en slutpunkt till slutpunkt-pipeline. Om du redan använder Logstash och har åtkomst till din egen händelseström hoppar du över det här och går vidare till nästa avsnitt.

Anteckning

Om du använder dina egna data ändrar du de tabell- och mappningsobjekt som definieras i föregående steg.

  1. Redigera en ny textfil som innehåller de nödvändiga pipeline-inställningarna (med hjälp av vi):

    vi test.conf
    
  2. Klistra in följande inställningar som instruerar Logstash att generera 1 000 testhändelser:

    input {
        stdin { }
        generator {
            message => "Test Message 123"
            count => 1000
        }
    }
    

Den här konfigurationen innehåller också plugin-programmet för stdin-indata som gör att du kan skriva fler meddelanden själv (se till att använda RETUR för att skicka dem till pipelinen).

Konfigurera Logstash att skicka data till Azure Data Explorer

Klistra in följande inställningar i samma konfigurationsfil som används i föregående steg. Ersätt alla platshållarna med relevanta värden för din konfiguration. Mer information finns i Skapa ett Microsoft Entra-program.

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
    }
}
Parameternamn Description
Sökvägen Logstash-plugin-programmet skriver händelser till tillfälliga filer innan de skickas till Azure Data Explorer. Den här parametern innehåller en sökväg dit filerna ska skrivas och ett tidsuttryck för filrotation för att utlösa en uppladdning till Azure Data Explorer-tjänsten.
ingest_url Kusto-slutpunkten för inmatningsrelaterad kommunikation.
app_id, app_key och app_tenant Autentiseringsuppgifter som krävs för att ansluta till Azure Data Explorer. Se till att använda ett program med inmatningsbehörighet.
Databas Databasnamnet för att placera händelser.
table Måltabellnamnet för att placera händelser.
json_mapping Mappning används för att mappa json-strängen för en inkommande händelse till rätt radformat (definierar vilken egenskap som hamnar i vilken kolumn).

Köra Logstash

Nu är vi redo att köra Logstash och testa inställningarna.

  1. I ett kommandogränssnitt navigerar du till Logstash-rotkatalogen och kör sedan följande kommando:

    bin/logstash -f test.conf
    

    Du bör se information som visas på skärmen och sedan de 1 000 meddelanden som genereras av exempelkonfigurationen. Nu kan du även ange fler meddelanden manuellt.

  2. Efter några minuter kör du följande Data Explorer-fråga för att se meddelandena i den tabell som du definierade:

    logs
    | order by timestamp desc
    
  3. Tryck på Ctrl + C för att avsluta Logstash

Rensa resurser

Kör du följande kommando i databasen för att rensa tabellen logs:

.drop table logs