Ingestování dat z Logstash do Azure Data Explorer

Důležité

Tento konektor je možné použít v analýzách v reálném čase v Microsoft Fabric. Postupujte podle pokynů v tomto článku s následujícími výjimkami:

Logstash je open source kanál pro zpracování dat na straně serveru, který ingestuje data z mnoha zdrojů současně, transformuje je a pak je odešle do vašeho oblíbeného "dočasného ukládání". V tomto článku odešlete tato data do Azure Data Explorer, což je rychlá a vysoce škálovatelná služba pro zkoumání dat protokolů a telemetrických dat. Nejprve vytvoříte tabulku a mapování dat v testovacím clusteru a potom nasměrujete Logstash, aby odeslala 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 budete mít cluster a databázi, je čas vytvořit tabulku.

  1. Spuštěním následujícího příkazu v okně databázového dotazu vytvořte tabulku:

    .create table logs (timestamp: datetime, message: string)
    
  2. Spuštěním následujícího příkazu potvrďte, že se nová tabulka logs vytvořila 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 Explorer a odesílá data do služby. Další informace najdete v tématu Modul 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é se dají použít k testová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á hlásí logstash, aby vygeneroval 1000 testovacích událostí:

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

Tato konfigurace zahrnuje stdin také vstupní modul plug-in, který vám umožní psát více zpráv sami (nezapomeňte je do kanálu odeslat pomocí klávesy Enter ).

Konfigurace logstash pro odesílání dat do Azure Data Explorer

Do stejného konfiguračního souboru, který jste použili v předchozím kroku, vložte následující nastavení. Nahraďte všechny zástupné symboly příslušnými hodnotami pro vaše nastavení. Další informace najdete 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 Description
Cestu Modul plug-in Logstash zapisuje události do dočasných souborů před jejich odesláním do Azure Data Explorer. Tento parametr zahrnuje cestu, kam by se soubory měly zapisovat, a časový výraz pro rotaci souborů, která aktivuje nahrává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 vyžadované pro připojení k Azure Data Explorer Nezapomeňte použít aplikaci s oprávněními ingestování.
Databáze Název databáze pro umístění událostí.
table Název cílové tabulky pro umístění událostí.
json_mapping Mapování se používá k mapování řetězce JSON příchozí události do správného formátu řádku (definuje, která vlastnost jde 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 obrazovce a pak 1000 zpráv vygenerovaných naší ukázkovou konfigurací. V tomto okamžiku můžete také ručně zadat další zprávy.

  2. Po několika minutách spusťte následující Data Explorer dotaz, abyste zobrazili zprávy v tabulce, kterou jste definovali:

    logs
    | order by timestamp desc
    
  3. Stisknutím Ctrl+C ukončete Logstash.

Vyčištění prostředků

Spuštěním následujícího příkazu v databázi tabulku vyčistíte logs :

.drop table logs