Příjem dat z Logstash do Azure Data Exploreru
Důležité
Tento konektor se dá použít v sadě Microsoft Fabric v reálném čase. Postupujte podle pokynů v tomto článku s následujícími výjimkami:
- V případě potřeby vytvořte databáze pomocí pokynů v části Vytvoření databáze KQL.
- V případě potřeby vytvořte tabulky podle pokynů v části Vytvoření prázdné tabulky.
- Pomocí pokynů v identifikátoru URI pro kopírování získejte identifikátory URI pro dotazy nebo příjem dat.
- Spouštění dotazů v sadě dotazů KQL
Logstash je opensourcový kanál pro zpracování dat na straně serveru, který ingestuje data z mnoha zdrojů současně, transformuje data a pak odesílá data do oblíbeného "stash". V tomto článku odešlete tato data do Azure Data Exploreru, což je rychlá a vysoce škálovatelná služba pro zkoumání dat protokolů a telemetrie. Nejprve vytvoříte tabulku a mapování dat v testovacím clusteru a pak nasměrujete Logstash, aby odesílala data do tabulky a ověřila výsledky.
Poznámka:
Tento konektor aktuálně podporuje pouze formát dat JSON.
Požadavky
- Účet Microsoft nebo identita uživatele Microsoft Entra. Předplatné Azure není povinné.
- Cluster a databáze Azure Data Exploreru. Vytvořte cluster a databázi.
- Pokyny k instalaci Logstash verze 6+
Vytvoření tabulky
Jakmile máte cluster a databázi, je čas vytvořit tabulku.
Spuštěním následujícího příkazu v okně dotazu databáze vytvořte tabulku:
.create table logs (timestamp: datetime, message: string)
Spuštěním následujícího příkazu potvrďte, že byla vytvořena nová tabulka
logs
a že je prázdná:logs | count
Vytvoření mapování
Mapování používá Azure Data Explorer k transformaci příchozích dat do schématu cílové tabulky. Následující příkaz vytvoří nové mapování s názvem basicmsg
, které extrahuje vlastnosti z příchozího kódu JSON, jak je poznamenal path
a vypíše je do objektu column
.
V okně dotazu spusťte následující příkaz:
.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'
Instalace výstupního modulu plug-in Logstash
Výstupní modul plug-in Logstash komunikuje s Azure Data Explorerem a odesílá data do služby. Další informace najdete v modulu plug-in Logstash.
V příkazovém prostředí přejděte do kořenového adresáře Logstash a spuštěním následujícího příkazu nainstalujte modul plug-in:
bin/logstash-plugin install logstash-output-kusto
Konfigurace Logstash pro vygenerování ukázkové datové sady
Logstash může generovat ukázkové události, které je možné použít k otestování kompletního kanálu. Pokud už používáte Logstash a máte přístup k vlastnímu streamu událostí, přejděte k další části.
Poznámka:
Pokud používáte vlastní data, změňte objekty tabulky a mapování definované v předchozích krocích.
Upravte nový textový soubor, který bude obsahovat požadovaná nastavení kanálu (pomocí vi):
vi test.conf
Vložte následující nastavení, která sdělí Logstash, aby vygenerovala 1000 testovacích událostí:
input { stdin { } generator { message => "Test Message 123" count => 1000 } }
Tato konfigurace obsahuje stdin
také vstupní modul plug-in, který vám umožní psát další zprávy sami (nezapomeňte je odeslat do kanálu pomocí klávesy Enter ).
Konfigurace Logstash pro odesílání dat do Azure Data Exploreru
Do stejného konfiguračního souboru použitého v předchozím kroku vložte následující nastavení. Nahraďte všechny zástupné symboly příslušnými hodnotami pro nastavení. Další informace naleznete v tématu Vytvoření aplikace 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
}
}
Název parametru | Popis |
---|---|
path | Modul plug-in Logstash zapisuje události do dočasných souborů před jejich odesláním do Azure Data Exploreru. Tento parametr obsahuje cestu, do které se mají zapisovat soubory, a časový výraz pro rotaci souborů, aby se aktivovalo nahrání do služby Azure Data Explorer. |
ingest_url | Koncový bod Kusto pro komunikaci související s příjmem dat. |
app_id, app_key a app_tenant | Přihlašovací údaje potřebné pro připojení k Azure Data Exploreru. Nezapomeňte použít aplikaci s oprávněními ingestování. |
databáze | Název databáze pro umístění událostí |
stůl | Název cílové tabulky pro umístění událostí |
json_mapping | Mapování se používá k mapování příchozího řetězce JSON události do správného formátu řádku (definuje, která vlastnost přejde do kterého sloupce). |
Spuštění Logstash
Teď jsme připraveni spustit Logstash a otestovat naše nastavení.
V příkazovém prostředí přejděte do kořenového adresáře Logstash a spusťte následující příkaz:
bin/logstash -f test.conf
Měli byste vidět informace vytištěné na obrazovku a poté 1000 zpráv vygenerovaných naší ukázkovou konfigurací. V tomto okamžiku můžete také zadat další zprávy ručně.
Po několika minutách spusťte následující dotaz Průzkumníka dat a zobrazte zprávy v tabulce, kterou jste definovali:
logs | order by timestamp desc
Pokud chcete ukončit Logstash, vyberte Ctrl+C.
Vyčištění prostředků
Spuštěním následujícího příkazu v databázi tabulku logs
vyčistěte:
.drop table logs