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:
- Maak indien nodig databases met behulp van de instructies in Een KQL-database maken.
- Maak indien nodig tabellen aan de hand van de instructies in Een lege tabel maken.
- Haal query- of opname-URI's op met behulp van de instructies in URI kopiƫren.
- Query's uitvoeren in een KQL-queryset.
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 Microsoft-account of een Microsoft Entra gebruikersidentiteit. Een Azure-abonnement is niet vereist.
- Een Azure Data Explorer-cluster en -database. Maak een cluster en database.
- Installatie-instructies voor Logstash versie 6+
Een tabel maken
Wanneer u een cluster en een database hebt, kunt u een tabel maken.
Voer de volgende opdracht uit in uw databasequeryvenster om een tabel te maken:
.create table logs (timestamp: datetime, message: string)
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.
Bewerk een nieuw tekstbestand dat de vereiste pijplijninstellingen bevat (met behulp van vi):
vi test.conf
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.
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.
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
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