Příjem dat protokolu pomocí Fluentd do Azure Data Exploreru

Příjem protokolů je proces shromažďování, transformace a přípravy dat protokolů z aplikací, serverů, kontejnerů a cloudových služeb, abyste je mohli ukládat, analyzovat a monitorovat. Protokoly zaznamenávají informace, jako jsou chyby, upozornění, vzory použití a výkon systému. Spolehlivé ingestování protokolů zajišťuje, že provozní a bezpečnostní data jsou k dispozici téměř v reálném čase pro účely řešení potíží a přehledů. Tento článek vysvětluje, jak odesílat protokoly z Fluentdu do Azure Data Exploreru (Kusto), včetně postupu instalace, konfigurace a ověření.

Přehled

Co je Fluentd?

Fluentd je opensourcový kolektor dat, který můžete použít ke sjednocení shromažďování protokolů a směrování napříč několika systémy. Podporuje více než 1 000 modulů plug-in a poskytuje flexibilní možnosti filtrování, ukládání do vyrovnávací paměti a transformace dat. Fluentd můžete použít v cloudových a podnikových prostředích pro centralizovanou agregaci a předávání protokolů.

Co je Azure Data Explorer?

Azure Data Explorer (ADX) je rychlá plně spravovaná analytická služba optimalizovaná pro analýzu velkých objemů strukturovaných, částečně strukturovaných a nestrukturovaných dat v reálném čase. ADX používá dotazovací jazyk Kusto (KQL) a běžně se používá k telemetrii, monitorování, diagnostice a interaktivnímu zkoumání dat.

Požadavky

  • Je nainstalovaný Ruby na uzlu, kde se musí zpracovat protokoly. Pokud chcete nainstalovat fluentd závislosti pomocí správce balíčků gem, přečtěte si pokyny k instalaci Ruby.
  • Přístup ke clusteru a databázi Azure Data Exploreru
  • Aplikace Azure Active Directory s oprávněními k příjmu dat

Začínáme s Fluentdem a Azure Data Explorerem

  1. Nainstalujte Fluentd pomocí RubyGems:

    gem install fluentd
    
  2. Nainstalujte modul plug-in Fluentd Kusto:

    gem install fluent-plugin-kusto
    
  3. Konfigurujte Fluentd vytvořením konfiguračního souboru (například fluent.conf) s následujícím obsahem. Zástupné symboly nahraďte hodnotami Azure a pluginu.

    <match <tag-from-source-logs>>
      @type kusto
      endpoint https://<your-cluster>.<region>.kusto.windows.net
      database_name <your-database>
      table_name <your-table>
      logger_path <your-fluentd-log-file-path>
    
      # Authentication options
      auth_type <your-authentication-type>
    
      # AAD authentication
      tenant_id <your-tenant-id>
      client_id <your-client-id>
      client_secret <your-client-secret>
    
      # Managed identity authentication (optional)
      managed_identity_client_id <your-managed-identity-client-id>
    
      # Workload identity authentication (optional)
      workload_identity_tenant_id <your-workload-identity-tenant-id>
      workload_identity_client_id <your-workload-identity-client-id>
    
      # Non-buffered mode
      buffered false
      delayed false
    
      # Buffered mode
      # buffered true
      # delayed <true/false>
    
      <buffer>
        @type memory
        timekey 1m
        flush_interval 10s
      </buffer>
    </match>
    

Další podrobnosti o konfiguraci a ověřování najdete v dokumentaci k modulu plug-in Fluentd Kusto.

  1. Příprava Azure Data Exploreru na příjem dat:

    1. Vytvořte cluster a databázi ADX. Viz Vytvoření clusteru a databáze Azure Data Exploreru.

    2. Vytvořte aplikaci Azure Active Directory a udělte oprávnění k ingestování dat do databáze ADX. Viz Vytvoření registrace aplikace Microsoft Entra v Azure Data Exploreru.

      Poznámka:

      Uložte klíč aplikace a ID aplikace pro budoucí použití.

    3. Vytvořte tabulku pro příjem protokolů. Například:

    .create table LogTable (
      tag:string,
      timestamp:datetime,
      record:dynamic
    )
    
  2. Spusťte Fluentd s konfiguračním souborem:

    fluentd -c fluent.conf
    
  3. Ověření příjmu protokolů pomocí:

    1. Zkontrolujte soubor protokolu Fluentd, ověřte, že nedošlo k žádným chybám a že se žádosti o příjem dat úspěšně odesílají.

      Snímek obrazovky se souborem protokolu Fluentd zobrazující úspěšné žádosti o příjem dat

    2. Dotazování tabulky ADX ke zajištění, že se protokoly správně zpracovávají:

    LogTable
    | take 10
    
  4. Mapování příjmu dat: Pomocí předem definovaných mapování příjmu dat v Kusto transformujte data ve výchozím formátu 3 sloupců na požadované schéma. Další informace najdete v tématu Podpora mapování příjmu dat.