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
- Fluent Bit.
- Egy Azure Data Explorer-fürt és -adatbázis. Klaszter és adatbázis létrehozása.
- Lekérdezési környezet. További információ: Lekérdezésintegrációk áttekintése.
- Kusto-fürt URI-ja az Ingestion_endpoint értékhez, formátum szerint: https://ingest-<cluster>.<régió>.kusto.windows.net. További információ: A fürtkapcsolat hozzáadása.
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.
Jelentkezzen be az Azure-előfizetésbe az Azure CLI-vel. Ezután hitelesítés a böngészőben.
az login
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
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}
A visszaadott JSON-adatokból másolja ki a
appId
,password
éstenant
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:
Böngésszen a lekérdezési környezetében.
Válassza ki azt az adatbázist, amelyben létre szeretné hozni a táblát.
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ása |
✔️ | |
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
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
A naplóadatok mintájának megtekintéséhez futtassa a következő lekérdezést:
FluentBitLogs | take 100