Megosztás a következőn keresztül:


Adatok betöltése a Fluent Bittel az Azure Data Explorerbe

Fluent Bit egy nyílt forráskódú ügynök, amely naplókat, metrikákat és nyomkövetéseket gyűjt különböző forrásokból. Lehetővé teszi az eseményadatok szűrését, módosítását és összesítését, mielőtt a tárolóba küldené azokat. Ez a cikk végigvezeti a Fluent Bit kQL-adatbázisba való adatküldési folyamatán.

Ez a cikk bemutatja, hogyan lehet adatokat betölteni a Fluent Bit használatával.

Az adatösszekötők teljes listáját az Adatösszekötők áttekintésecímű témakörben találja.

Előfeltételek

Microsoft Entra szolgáltatásnév létrehozása

A Microsoft Entra szolgáltatásnév az Azure Portalon vagy programozott módon hozható létre, ahogyan az alábbi példában is látható.

Ez a szolgáltatásnév az összekötő által használt identitás, amellyel adatokat írhat a Kusto táblába. Engedélyezést biztosít a szolgáltatási főszereplő számára a Kusto-erőforrások eléréséhez.

  1. Jelentkezzen be az Azure-előfizetésbe az Azure CLI-vel. Ezután hitelesítés a böngészőben.

    az login
    
  2. Válassza ki az előfizetést a fő szolgáltatás üzemeltetéséhez. Erre a lépésre akkor van szükség, ha több előfizetéssel rendelkezik.

    az account set --subscription YOUR_SUBSCRIPTION_GUID
    
  3. Hozza létre a szolgáltatásnevet. Ebben a példában a szolgáltatásnév neve my-service-principal.

    az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}
    
  4. A visszaadott JSON-adatokból másolja ki a appId, passwordés tenant későbbi használatra.

    {
      "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"
    }
    

Létrehozta a Microsoft Entra-alkalmazást és a szolgáltatásnevet.

Céltábla létrehozása

Fluent Bit három tulajdonsággal továbbítja a naplókat JSON formátumban: log (dinamikus), tag (karakterlánc) és timestamp (időbélyeg).

Mindegyik tulajdonsághoz létrehozhat oszlopokat tartalmazó táblázatot. Ha rendelkezik strukturált naplókkal, létrehozhat egy táblát, ahol a naplótulajdonságok egyéni oszlopokra vannak leképezve. További információért válassza a megfelelő lapot.

Tábla létrehozása bejövő naplókhoz a Fluent Bitből:

  1. Böngésszen a lekérdezési környezetében.

  2. Válassza ki azt az adatbázist, amelyben létre szeretné hozni a táblát.

  3. Futtassa a következő .create table parancsot:

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

    A bejövő JSON-tulajdonságok automatikusan a megfelelő oszlopba vannak leképezve.

Engedélyek megadása a szolgáltatási főazonosítónak

Adjon a szolgáltatásfőnöknek Microsoft Entra-szolgáltatásfőnök létrehozásaadatbázis ingestor szerepkör-engedélyeket az adatbázissal való munkavégzéshez. További információ: Példák. Cserélje le a helyőrzőt DatabaseName a céladatbázis nevére, és ApplicationID a Microsoft Entra szolgáltatásnév létrehozásakor mentett AppId értékre.

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

A Fluent Bit konfigurálása naplók táblába való küldéséhez

Ha úgy szeretné konfigurálni a Fluent Bitet, hogy naplókat küldjön a kusto-i táblába, hozzon létre egy klasszikus módú vagy YAML-módot konfigurációs fájlt a következő kimeneti tulajdonságokkal:

Mező Leírás Szükséges Alapértelmezett
Név A csővezeték neve. azure_kusto
bérlő_azonosító A Microsoft Entra szolgáltatásnév létrehozásabérlőazonosítója. ✔️
kliens_azonosító A Microsoft Entra szolgáltatásnév létrehozása alkalmazásazonosítója. ✔️
ügyfél_titok A Microsoft Entra szolgáltatásnév létrehozásasorán megadott ügyfél titkos kulcs értéke (jelszó). ✔️
adatfogadási végpont Adja meg a Ingestion_Endpointmegadott értéket. ✔️
adatbázis_név A naplótáblát tartalmazó adatbázis neve. ✔️
table_name A tábla neve Céltábla létrehozása. ✔️
adatbetöltési_térkép_hivatkozás A betöltési leképezés neve Céltábla létrehozása. Ha nem létrehozott betöltési leképezést, távolítsa el a tulajdonságot a konfigurációs fájlból.
log_key A naplótartalom kulcsneve. Például log. log
tag_key A címke kulcsneve. Figyelmen kívül hagyja, ha include_tag_key hamis. tag
include_time_key Ha engedélyezve van, egy időbélyeg van hozzáfűzve a kimenethez. A time_key tulajdonságot használja. true
idő_kulcs Az időbélyeg kulcsneve a naplórekordokban. Akkor figyelmen kívül hagyja, ha include_time_key hamis. timestamp
adatbeviteli_végpont_kapcsolat_időtúllépés A különböző Kusto-végpontoknál beállított kapcsolati időtúllépés másodpercekben. 60s
tömörítés_engedélyezve Ha engedélyezve van, tömörített HTTP-hasznos adatokat (gzip) küld a Kusto-nak. true
adatbevitel_erőforrások_frissítési_intervallum A betöltési erőforrások másodpercek alatt frissítik a Kusto-végpont időközét. 3600
Munkavállalók Azon munkások száma, akik végeznek kiöblítési műveleteket ehhez a kimenethez. 0

Egy példakonfigurációs fájl megtekintéséhez válassza a megfelelő lapot:

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

Adatbetöltés megerősítése

  1. Miután az adatok megérkeztek a táblába, erősítse meg az adattovábbítást a sorok számának ellenőrzésével:

    FluentBitLogs
    | count
    
  2. A naplóadatok mintájának megtekintéséhez futtassa a következő lekérdezést:

    FluentBitLogs
    | take 100