Ingestování dat pomocí fluent Bitu do Azure Data Exploreru
Fluent Bit je opensourcový agent, který shromažďuje protokoly, metriky a trasování z různých zdrojů. Umožňuje filtrovat, upravovat a agregovat data událostí před jejich odesláním do úložiště. Azure Data Explorer je rychlá a vysoce škálovatelná služba pro zkoumání dat protokolů a telemetrie. Tento článek vás provede procesem použití fluent Bitu k odesílání dat do Azure Data Exploreru.
V tomto článku se naučíte:
Úplný seznam datových konektorů najdete v přehledu datových konektorů.
Požadavky
- Fluent Bit.
- Cluster a databáze Azure Data Exploreru. Vytvořte cluster a databázi.
Pro vaše prostředí dotazů můžete použít libovolný z dostupných nástrojů pro dotazy.
Vytvoření tabulky pro ukládání protokolů
Fluent Bit předává protokoly ve formátu JSON se třemi vlastnostmi: (dynamický), (řetězec) a timestamp
(datetime).tag
log
Pro každou z těchto vlastností můžete vytvořit tabulku se sloupci. Pokud máte strukturované protokoly, můžete také vytvořit tabulku s vlastnostmi protokolu namapovanými na vlastní sloupce. Další informace získáte tak, že vyberete příslušnou kartu.
Vytvoření tabulky pro příchozí protokoly z fluent Bitu:
Přejděte do prostředí dotazu.
Vyberte databázi, ve které chcete tabulku vytvořit.
Spusťte následující
.create table
příkaz:.create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)
Příchozí vlastnosti JSON se automaticky mapují do správného sloupce.
Registrace aplikace Microsoft Entra s oprávněními k příjmu dat
Instanční objekt Microsoft Entra je možné vytvořit prostřednictvím webu Azure Portal nebo programově, jako v následujícím příkladu.
Tento instanční objekt je identita, kterou konektor používá k zápisu dat do tabulky v Kusto. Později udělíte oprávnění pro tento instanční objekt pro přístup k prostředkům Kusto.
Přihlaste se ke svému předplatnému Azure prostřednictvím Azure CLI. Pak se ověřte v prohlížeči.
az login
Zvolte předplatné, které má být hostitelem objektu zabezpečení. Tento krok je potřeba v případě, že máte více předplatných.
az account set --subscription YOUR_SUBSCRIPTION_GUID
Vytvořte instanční objekt. V tomto příkladu se instanční objekt nazývá
my-service-principal
.az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
Z vrácených dat JSON zkopírujte
appId
password
tenant
a pro budoucí použití.{ "appId": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn", "displayName": "my-service-principal", "name": "my-service-principal", "password": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn", "tenant": "1234abcd-e5f6-g7h8-i9j0-1234kl5678mn" }
Vytvořili jste aplikaci Microsoft Entra a instanční objekt.
Udělení oprávnění instančnímu objektu
Spusťte následující příkaz a nahraďte <MyDatabase>
názvem databáze:
.add database MyDatabase ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>')
Tento příkaz udělí aplikaci oprávnění k ingestování dat do tabulky. Další informace najdete v tématu řízení přístupu na základě role.
Konfigurace fluent Bitu pro odesílání protokolů do tabulky
Pokud chcete nakonfigurovat Fluent Bit pro odesílání protokolů do tabulky Azure Data Exploreru, vytvořte klasický režim nebo konfigurační soubor režimu YAML s následujícími výstupními vlastnostmi:
Pole | Popis |
---|---|
Name | azure_kusto |
Párování | Vzor, který se má shodovat se značkami příchozích záznamů Rozlišují se malá a velká písmena a podporuje znak hvězdičky (* ) jako zástupný znak. |
Tenant_Id | ID adresáře (tenanta) z registrace aplikace Microsoft Entra s oprávněními k ingestování dat. |
Client_Id | ID aplikace (klienta) z registrace aplikace Microsoft Entra s oprávněními k ingestování dat |
Client_Secret | Hodnota tajného klíče klienta Zaregistrujte aplikaci Microsoft Entra s oprávněními k ingestování dat. |
Ingestion_Endpoint | V přehledu clusteru použijte identifikátor URI příjmu dat, který najdete na webu Azure Portal. |
Database_Name | Název databáze, která obsahuje tabulku protokolů. |
Table_Name | Název tabulky z vytvoření tabulky pro ukládání protokolů. |
Ingestion_Mapping_Reference | Název mapování příjmu dat z vytvoření tabulky. Pokud jste nevytvořili mapování příjmu dat, odeberte vlastnost z konfiguračního souboru. |
Pokud chcete zobrazit ukázkový konfigurační soubor, vyberte příslušnou kartu:
[SERVICE]
Daemon Off
Flush 1
Log_Level trace
HTTP_Server On
HTTP_Listen 0.0.0.0
HTTP_Port 2020
Health_Check On
[INPUT]
Name tail
Path /var/log/containers/*.log
Tag kube.*
Mem_Buf_Limit 1MB
Skip_Long_Lines On
Refresh_Interval 10
[OUTPUT]
Name azure_kusto
Match *
Tenant_Id azure-tenant-id
Client_Id azure-client-id
Client_Secret azure-client-secret
Ingestion_Endpoint azure-data-explorer-ingestion-endpoint
Database_Name azure-data-explorer-database-name
Table_Name azure-data-explorer-table-name
Ověření, že data přistála v tabulce
Po dokončení konfigurace by protokoly měly dorazit do tabulky.
Pokud chcete ověřit, že se protokoly ingestují, spusťte následující dotaz:
FluentBitLogs | count
Pokud chcete zobrazit ukázku dat protokolu, spusťte následující dotaz:
FluentBitLogs | take 100
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