Logboekgegevens opnemen met Fluentd in Azure Data Explorer

Logboekopname is het proces van het verzamelen, transformeren en voorbereiden van logboekgegevens van toepassingen, servers, containers en cloudservices, zodat u deze kunt opslaan, analyseren en bewaken. Logboeken leggen informatie vast, zoals fouten, waarschuwingen, gebruikspatronen en systeemprestaties. Betrouwbare logboekopname zorgt ervoor dat operationele en beveiligingsgegevens bijna in realtime beschikbaar zijn voor probleemoplossing en inzichten. In dit artikel wordt uitgelegd hoe u logboeken verzendt van Fluentd naar Azure Data Explorer (Kusto), inclusief installatie-, configuratie- en validatiestappen.

Overzicht

Wat is Fluentd?

Fluentd is een opensource-gegevensverzamelaar die u kunt gebruiken om logboekverzameling en routering over meerdere systemen te combineren. Het ondersteunt meer dan 1000 invoegtoepassingen en biedt flexibele opties voor filteren, bufferen en transformeren van gegevens. U kunt Fluentd in cloud- en bedrijfsomgevingen gebruiken voor gecentraliseerde logboekaggregatie en doorsturen.

Wat is Azure Data Explorer?

Azure Data Explorer (ADX) is een snelle, volledig beheerde analyseservice die is geoptimaliseerd voor realtime analyse van grote hoeveelheden gestructureerde, semi-gestructureerde en ongestructureerde gegevens. ADX maakt gebruik van Kusto Query Language (KQL) en wordt veel gebruikt voor telemetrie, bewaking, diagnose en interactieve gegevensverkenning.

Vereiste voorwaarden

  • Ruby is geïnstalleerd op het knooppunt waar logboeken moeten worden opgenomen. Als u fluentd-afhankelijkheden wilt installeren met gem package Manager, raadpleegt u de Ruby-installatie-instructies
  • Toegang tot een Azure Data Explorer-cluster en -database.
  • Azure Active Directory-toepassing met machtigingen voor het opnemen van gegevens.

Aan de slag met Fluentd en Azure Data Explorer

  1. Fluentd installeren met RubyGems:

    gem install fluentd
    
  2. Installeer de Fluentd Kusto-invoegtoepassing:

    gem install fluent-plugin-kusto
    
  3. Configureer Fluentd door een configuratiebestand (bijvoorbeeld fluent.conf) te maken met de volgende inhoud. Vervang de tijdelijke aanduidingen door uw Azure- en invoegtoepassingswaarden:

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

Zie de documentatie van de Fluentd Kusto-invoegtoepassing voor meer configuratie- en verificatiedetails

  1. Azure Data Explorer voorbereiden voor opname:

    1. Maak een ADX-cluster en -database. Zie Een Azure Data Explorer-cluster en -database maken.

    2. Maak een Azure Active Directory-toepassing en verleen machtigingen om gegevens op te nemen in de ADX-database. Zie Een Microsoft Entra-applicatieregistratie maken in Azure Data Explorer.

      Opmerking

      Sla de app-sleutel en toepassings-id op voor toekomstig gebruik.

    3. Maak een tabel voor logboekopname. Voorbeeld:

    .create table LogTable (
      tag:string,
      timestamp:datetime,
      record:dynamic
    )
    
  2. Voer Fluentd uit met het configuratiebestand:

    fluentd -c fluent.conf
    
  3. Logboekopname valideren door:

    1. Controleer het Fluentd-logboekbestand, bevestig dat er geen fouten zijn en of de opnameaanvragen zijn verzonden.

      Schermopname van het Fluentd-logboekbestand met geslaagde opnameaanvragen

    2. Query's uitvoeren op de ADX-tabel om ervoor te zorgen dat logboeken correct worden opgenomen:

    LogTable
    | take 10
    
  4. Opnametoewijzing: Gebruik de vooraf gedefinieerde opnametoewijzingen in Kusto om gegevens de standaardindeling met drie kolommen te transformeren in het gewenste schema. Zie voor meer informatie Ondersteuning voor opnametoewijzingen.