Delen via


Gegevens ophalen met Fluent Bit

Fluent Bit is een opensource-agent die logboeken, metrische gegevens en traceringen van verschillende bronnen verzamelt. Hiermee kunt u gebeurtenisgegevens filteren, wijzigen en aggregeren voordat u deze naar de opslag verzendt. In dit artikel wordt u begeleid bij het gebruik van Fluent Bit om gegevens naar uw KQL-database te verzenden.

In dit artikel wordt beschreven hoe u gegevens opneemt met Fluent Bit.

Voor een volledige lijst met gegevensconnectors, zie Overzicht van gegevensconnectors.

Vereisten

  • Fluent Bit.
  • Een werkruimte met een Microsoft Fabric-ingeschakelde capaciteit.
  • Een KQL-database met opnamemachtigingen.
  • Een KQL-queryset, die verder als uw queryomgeving wordt aangeduid.
  • De URI voor data-import die als waarde voor TargetURI moet worden gebruikt. Zie URI Kopiëren voor meer informatie.

Een Microsoft Entra-service-principal maken

De Microsoft Entra-service-principal kan worden gemaakt via de Azure portal of via een programma, zoals in het volgende voorbeeld.

Deze service principal is de ID die door de connector wordt gebruikt om gegevens naar uw tabel in Kusto te schrijven. U verleent machtigingen voor deze service-principal voor toegang tot Kusto-resources.

  1. Meld u aan bij uw Azure-abonnement via Azure CLI. Verifieer vervolgens in de browser.

    az login
    
  2. Kies het abonnement om de principal te hosten. Deze stap is nodig wanneer u meerdere abonnementen hebt.

    az account set --subscription YOUR_SUBSCRIPTION_GUID
    
  3. Maak de service-principal. In dit voorbeeld wordt de service-principal aangeroepen my-service-principal.

    az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
    
  4. Kopieer de appId, passworden voor tenant toekomstig gebruik vanuit de geretourneerde JSON-gegevens.

    {
      "appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "displayName": "my-service-principal",
      "name": "my-service-principal",
      "password": "00001111-aaaa-2222-bbbb-3333cccc4444",
      "tenant": "00001111-aaaa-2222-bbbb-3333cccc4444"
    }
    

U hebt uw Microsoft Entra-toepassing en service-principal gemaakt.

Een doeltabel maken

Fluent Bit stuurt logboeken door in JSON-indeling met drie eigenschappen: (dynamisch), (tekenreekslogtag

U kunt een tabel maken met kolommen voor elk van deze eigenschappen. Als u gestructureerde logboeken hebt, kunt u ook een tabel maken met logboekeigenschappen die zijn toegewezen aan aangepaste kolommen. Selecteer het relevante tabblad voor meer informatie.

Een tabel maken voor binnenkomende logboeken van Fluent Bit:

  1. Blader naar uw queryomgeving.

  2. Selecteer de database waarin u de tabel wilt maken.

  3. Voer de volgende .create table opdracht uit:

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

    De binnenkomende JSON-eigenschappen worden automatisch toegewezen aan de juiste kolom.

Machtigingen verlenen aan de service-principal

Verdeel de service-principal van Een Microsoft Entra-service-principal makendatabase ingestor rolmachtigingen voor het werken met de database. Zie Voorbeeldenvoor meer informatie. Vervang de tijdelijke aanduiding DatabaseName door de naam van de doeldatabase en ApplicationID- door de AppId waarde die u hebt opgeslagen bij het maken van een Microsoft Entra-service-principal.

.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>;<TenantID>')

Fluent Bit configureren om logboeken naar uw tabel te verzenden

Als u Fluent Bit wilt configureren voor het verzenden van logboeken naar uw tabel in Kusto, maakt u een klassieke modus of YAML-modus configuratiebestand met de volgende uitvoereigenschappen:

Veld Beschrijving Vereist Verstek
Naam De naam van de pijplijn. azure_kusto
huurder_id De tenant-id van Maak een Microsoft Entra-service-principal. ✔️
client_id De toepassings-id van Een Microsoft Entra-service-principal maken. ✔️
klantgeheim De clientgeheime sleutelwaarde (wachtwoord) van Een Microsoft Entra-service-principal maken. ✔️
invoer-eindpunt Voer de waarde in zoals beschreven voor Ingestion_Endpoint. ✔️
databasenaam De naam van de database die de logboektabel bevat. ✔️
table_name De naam van de tabel uit Maak een doeltabel. ✔️
toewijzingsreferentie voor aanvoer De naam van de opnametoewijzing van Een doeltabel maken. Als u geen opnametoewijzing hebt gemaakt, verwijdert u de eigenschap uit het configuratiebestand.
log_key Sleutelnaam van de logboekinhoud. Bijvoorbeeld log. log
tag_key De sleutelnaam van de tag. Genegeerd als include_tag_key onwaar is. tag
include_time_key Een tijdstempel wordt toegevoegd aan uitvoer, indien ingeschakeld. Gebruikt de eigenschap time_key. true
tijd_sleutel De sleutelnaam voor de tijdstempel in de logboekrecords. Genegeerd als include_time_key onwaar. timestamp
verbindingstijdslimiet_endpoint_voor_opname De verbindingstime-out van verschillende Kusto-eindpunten in seconden. 60s
compressie_ingeschakeld Verzendt gecomprimeerde HTTP-nettolading (gzip) naar Kusto, indien ingeschakeld. true
invoerbronnen_verversingsinterval Het vernieuwingsinterval voor invoerbronnen van het Kusto-eindpunt in seconden. 3600
arbeiders Het aantal werkers om flush-operaties voor deze uitvoer uit te voeren. 0

Als u een voorbeeld van een configuratiebestand wilt zien, selecteert u het relevante tabblad:

[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]
    match *
    name azure_kusto
    tenant_id <TenantId>
    client_id <ClientId>
    client_secret <AppSecret>
    ingestion_endpoint <IngestionEndpoint>
    database_name <DatabaseName>
    table_name <TableName>
    ingestion_mapping_reference <MappingName>
    ingestion_endpoint_connect_timeout <IngestionEndpointConnectTimeout>
    compression_enabled <CompressionEnabled>
    ingestion_resources_refresh_interval <IngestionResourcesRefreshInterval>

Gegevensopname bevestigen

  1. Zodra de gegevens in de tabel binnenkomen, bevestigt u de overdracht van gegevens door het aantal rijen te controleren:

    FluentBitLogs
    | count
    
  2. Voer de volgende query uit om een voorbeeld van logboekgegevens weer te geven:

    FluentBitLogs
    | take 100