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:
- V případě potřeby vytvořte databáze podle pokynů v tématu Vytvoření databáze KQL.
- V případě potřeby vytvořte tabulky podle pokynů v tématu Vytvoření prázdné tabulky.
- Získejte identifikátory URI dotazů nebo příjmu dat podle pokynů v tématu Kopírování identifikátoru URI.
- Spouštění dotazů v sadě dotazů KQL
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
- Účet Microsoft nebo Microsoft Entra identitu uživatele. Předplatné Azure není povinné.
- Cluster a databáze Azure Data Explorer. Vytvořte cluster a databázi.
- Logstash verze 6+ Pokyny k instalaci.
Vytvoření tabulky
Jakmile budete mít cluster a databázi, je čas vytvořit tabulku.
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)
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.
Upravte nový textový soubor, který bude obsahovat požadovaná nastavení kanálu (pomocí vi):
vi test.conf
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í.
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.
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
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
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro