Sdílet prostřednictvím


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:

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

Vytvoření tabulky

Jakmile máte cluster a databázi, je čas vytvořit tabulku.

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

  1. Upravte nový textový soubor, který bude obsahovat požadovaná nastavení kanálu (pomocí vi):

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

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

  2. 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
    
  3. 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