Delen via


Gegevens uit Logstash opnemen in Azure Data Explorer

Belangrijk

Deze connector kan worden gebruikt in realtime analyses in Microsoft Fabric. Gebruik de instructies in dit artikel met de volgende uitzonderingen:

Logstash is een open source pijplijn voor gegevensverwerking aan de serverzijde waarmee gegevens uit vele bronnen tegelijkertijd worden opgenomen, deze gegevens worden getransformeerd en vervolgens worden verzonden naar uw favoriete 'stash'. In dit artikel verzendt u die gegevens naar Azure Data Explorer, een snelle en zeer schaalbare service voor gegevensverkenning voor logboek- en telemetriegegevens. U maakt in eerste instantie een tabel en gegevenstoewijzing in een testcluster en stuurt Logstash vervolgens om gegevens naar de tabel te verzenden en de resultaten te valideren.

Notitie

Deze connector ondersteunt momenteel alleen de json-gegevensindeling.

Vereisten

Een tabel maken

Wanneer u een cluster en een database hebt, kunt u een tabel maken.

  1. Voer de volgende opdracht uit in uw databasequeryvenster om een tabel te maken:

    .create table logs (timestamp: datetime, message: string)
    
  2. Voer de volgende opdracht uit om te controleren of de nieuwe tabel logs is gemaakt en leeg is:

    logs
    | count
    

Een toewijzing maken

Toewijzing wordt door Azure Data Explorer gebruikt om de binnenkomende gegevens te transformeren in het schema van de doeltabel. Met de volgende opdracht maakt u een nieuwe toewijzing met de naam basicmsg die eigenschappen uit de binnenkomende json haalt zoals wordt aangegeven door het path en deze uitvoert naar de column.

Voer in het queryvenster de volgende opdracht uit:

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

De Logstash-invoegtoepassing voor uitvoer installeren

De Logstash-invoegtoepassing voor uitvoer communiceert met Azure Data Explorer en verzendt de gegevens naar de service. Zie de Logstash-invoegtoepassing voor meer informatie.

Navigeer in een opdrachtshell naar de logstash-hoofdmap en voer vervolgens de volgende opdracht uit om de invoegtoepassing te installeren:

bin/logstash-plugin install logstash-output-kusto

Logstash configureren om een voorbeeldgegevensset te genereren

Logstash kan voorbeeldgebeurtenissen genereren waarmee een end-to-end-pijplijn kan worden getest. Als u al met Logstash werkt en toegang hebt tot uw eigen gebeurtenisstroom, kunt u verder gaan met de volgende sectie.

Notitie

Als u uw eigen gegevens gebruikt, wijzigt u de tabel en toewijzingsobjecten die in de vorige stappen zijn gedefinieerd.

  1. Bewerk een nieuw tekstbestand dat de vereiste pijplijninstellingen bevat (met behulp van vi):

    vi test.conf
    
  2. Plak de volgende instellingen om Logstash te instrueren om 1000 testgebeurtenissen te genereren:

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

Deze configuratie omvat ook de invoerinvoegtoepassing stdin die u in staat stelt om zelf meer berichten te schrijven (zorg ervoor dat u Enter gebruikt om ze in te dienen in de pijplijn).

Logstash configureren om gegevens te verzenden naar Azure Data Explorer

Plak de volgende instellingen in hetzelfde config-bestand dat u ook in de vorige stap hebt gebruikt. Vervang alle tijdelijke aanduidingen door de relevante waarden voor uw installatie. Zie Een Microsoft Entra-toepassing maken voor meer informatie.

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
    }
}
Parameternaam Description
path De Logstash-invoegtoepassing schrijft gebeurtenissen naar tijdelijke bestanden voordat ze naar Azure Data Explorer worden verzonden. Deze parameter bevat het pad waarnaar bestanden moeten worden geschreven en een tijdexpressie voor bestandsrotatie om een upload naar de service Azure Data Explorer te activeren.
ingest_url Het Kusto-eindpunt voor opname-gerelateerde communicatie.
app_id, app_key en app_tenant Referenties vereist om verbinding te maken met Azure Data Explorer. Zorg dat u een toepassing gebruikt die opnamebevoegdheden heeft.
Database De naam van de database waarin gebeurtenissen moeten worden geplaatst.
table De naam van de tabel waarin gebeurtenissen moeten worden geplaatst.
json_mapping Toewijzing wordt gebruikt om de json-tekenreeks van een inkomende gebeurtenis toe te wijzen in de juiste rij-indeling (bepaalt welke eigenschap in welke kolom wordt geplaatst).

Logstash uitvoeren

We zijn nu klaar om Logstash uit te voeren en onze instellingen te testen.

  1. Navigeer in een opdrachtshell naar de logstash-hoofdmap en voer vervolgens de volgende opdracht uit:

    bin/logstash -f test.conf
    

    Eerst wordt er informatie op het scherm afgedrukt en vervolgens worden er door onze voorbeeldconfiguratie 1000 berichten gegenereerd. Op dit moment kunt u ook handmatig meer berichten invoeren.

  2. Na enkele minuten voert u de volgende Data Explorer-query uit om de berichten weer te geven in de tabel die u hebt gedefinieerd:

    logs
    | order by timestamp desc
    
  3. Druk op Ctrl+C om Logstash af te sluiten

Resources opschonen

Voer de volgende opdracht uit in uw database om de tabel logs op te schonen:

.drop table logs