Dela via


Mata in data med Fluent Bit i Azure Data Explorer

Fluent Bit är en agent med öppen källkod som samlar in loggar, mått och spårningar från olika källor. Det gör att du kan filtrera, ändra och aggregera händelsedata innan du skickar dem till lagringen. Azure Data Explorer är en snabb och mycket skalbar datautforskningstjänst för logg- och telemetridata. Den här artikeln beskriver hur du använder Fluent Bit för att skicka data till Azure Data Explorer.

I den här artikeln får du lära dig att:

En fullständig lista över dataanslutningar finns i Översikt över dataanslutningsprogram.

Förutsättningar

Skapa en Azure Data Explorer-tabell för att lagra loggarna

Fluent Bit vidarebefordrar loggar till Azure Data Explorer i JSON-format med tre egenskaper: log (dynamisk), tag (sträng) och timestamp (datetime).

Du kan skapa en tabell med kolumner för var och en av dessa egenskaper. Om du har strukturerade loggar kan du också skapa en tabell med loggegenskaper mappade till anpassade kolumner. Om du vill veta mer väljer du relevant flik.

Så här skapar du en tabell för inkommande loggar från Fluent Bit:

  1. Välj den databas där du vill skapa tabellen.

  2. Kör följande .create-tabellkommando:

    .create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)
    

    Azure Data Explorer automatiskt mappar inkommande JSON-egenskaper till rätt kolumn.

Registrera en Azure AD app med behörighet att mata in data

Azure Active Directory-programautentisering (Azure AD) används för program som behöver åtkomst till Azure Data Explorer utan att en användare finns. Om du vill mata in data med Fluent Bit måste du skapa och registrera ett Azure AD tjänstens huvudnamn och sedan auktorisera det här huvudnamnet för att mata in data i din Azure Data Explorer-tabell.

  1. Skapa en Azure AD programregistrering.

  2. Spara program-ID,katalog-ID(klient)-ID och nyckelvärde för klienthemligheter för användning i följande steg.

  3. Kör följande kommando och <MyDatabase> ersätt med namnet på databasen:

    .add database MyDatabase ingestors ('aadapp=<Application (client) ID>;<Directory (tenant) ID>' 'Fluent Bit application)
    

    Det här kommandot ger programmet behörighet att mata in data i tabellen. Mer information finns i rollbaserad åtkomstkontroll.

Konfigurera Fluent Bit för att skicka loggar till tabellen

Om du vill konfigurera Fluent Bit för att skicka loggar till din Azure Data Explorer-tabell skapar du en konfigurationsfil för klassiskt läge eller YAML-läge med följande utdataegenskaper:

Fält Beskrivning
Name azure_kusto
Matchning Ett mönster som matchar taggarna för inkommande poster. Det är skiftlägeskänsligt och stöder star (*) som jokertecken.
Tenant_Id Katalog-ID (klientorganisation) från Registrera en Azure AD-app med behörighet att mata in data.
Client_Id Program-ID (klient) från Registrera en Azure AD-app med behörighet att mata in data.
Client_Secret Nyckelvärdet för klienthemligheter Registrera en Azure AD app med behörighet att mata in data.
Ingestion_Endpoint Använd datainmatnings-URI:n som finns i Azure Portal under klusteröversikten.
Database_Name Namnet på databasen som innehåller loggtabellen.
Table_name Namnet på tabellen från Skapa en Azure Data Explorer-tabell.
Ingestion_Mapping_Reference Namnet på inmatningsmappningen från skapa en Azure Data Explorer-tabell. Om du inte skapade en inmatningsmappning tar du bort egenskapen från konfigurationsfilen.

Om du vill se en exempelkonfigurationsfil väljer du relevant flik:

[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

Kontrollera att data matas in i Azure Data Explorer

När konfigurationen är klar bör loggarna tas emot i din Azure Data Explorer-tabell.

  1. Kontrollera att loggar har matats in genom att köra följande fråga:

    FluentBitLogs
    | count
    
  2. Om du vill visa ett exempel på loggdata kör du följande fråga:

    FluentBitLogs
    | take 100