Sdílet prostřednictvím


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

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).taglog

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:

  1. Přejděte do prostředí dotazu.

  2. Vyberte databázi, ve které chcete tabulku vytvořit.

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

  1. 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
    
  2. 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
    
  3. 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}
    
  4. Z vrácených dat JSON zkopírujte appIdpasswordtenant 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.

  1. Pokud chcete ověřit, že se protokoly ingestují, spusťte následující dotaz:

    FluentBitLogs
    | count
    
  2. Pokud chcete zobrazit ukázku dat protokolu, spusťte následující dotaz:

    FluentBitLogs
    | take 100