Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Fluent Bit je opensourcový agent, který shromažďuje protokoly, metriky a trasování z různých zdrojů. Umožňuje filtrovat, upravovat a agregovat data událostí před jejich odesláním do úložiště. Tento článek vás provede procesem použití fluent Bit k odesílání dat do databáze KQL.
Tento článek popisuje, jak načíst data pomocí Fluent Bit.
Úplný seznam datových konektorů najdete v přehledu datových konektorů.
Požadavky
- Fluent Bit.
- Cluster a databáze Azure Data Exploreru. Další informace najdete v tématu Vytvoření clusteru a databáze.
- Dotazovací prostředí. Další informace najdete v tématu Přehled integrace dotazů.
- URI vašeho Kusto clusteru pro hodnotu Ingestion_endpoint ve formátu https://ingest-<cluster>.<region>.kusto.windows.net. Další informace najdete v tématu Přidání připojení ke clusteru.
Vytvořit službu principal Microsoft Entra
Instanční objekt Microsoft Entra můžete vytvořit prostřednictvím webu Azure Portal nebo programově, jak je znázorněno v následujícím příkladu.
Konektor používá tento hlavní objekt služby jako identitu k zápisu dat do tabulky v Kusto. Udělíte tomuto instančnímu objektu oprávnění pro přístup k prostředkům Kusto.
Přihlaste se ke svému předplatnému Azure prostřednictvím Azure CLI. Pak se ověřte v prohlížeči.
az loginZvolte předplatné, které má být hostitelem objektu zabezpečení. Tento krok je potřeba v případě, že máte více předplatných.
az account set --subscription YOUR_SUBSCRIPTION_GUIDVytvořte instanční objekt. V tomto příkladu se instanční objekt nazývá
my-service-principal.az ad sp create-for-rbac -n "my-service-principal" --role Contributor --scopes /subscriptions/{SubID}Z vrácených dat JSON zkopírujte
appIdpasswordtenanta pro budoucí použití.{ "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" }
Vytvořili jste aplikaci Microsoft Entra a instanční objekt.
Vytvoření cílové tabulky
Fluent Bit předává protokoly ve formátu JSON se třemi vlastnostmi: (dynamický), (řetězec) a log (datetime).tagtimestamp
Pro každou z těchto vlastností můžete vytvořit tabulku se sloupci. Pokud máte strukturované protokoly, můžete také vytvořit tabulku s vlastnostmi protokolu namapovanými na vlastní sloupce. Další informace získáte tak, že vyberete příslušnou kartu.
Vytvoření tabulky pro příchozí protokoly z fluent Bitu:
Přejděte do prostředí dotazu.
Vyberte databázi, ve které chcete tabulku vytvořit.
Spusťte následující
.create tablepříkaz:.create table FluentBitLogs (log:dynamic, tag:string, timestamp:datetime)Příchozí vlastnosti JSON se automaticky mapují do správného sloupce.
Udělení oprávnění instančnímu objektu
Udělte služebnímu hlavnímu objektu z části Vytvoření služebního hlavního objektu Microsoft Entraoprávnění role služby pro ingestování databáze pro práci s databází. Podívejte se na příkladypro více informací. Zástupný symbol DatabaseName nahraďte názvem cílové databáze a ApplicationID s hodnotou AppId, kterou jste uložili při vytváření servisního hlavního objektu Microsoft Entra.
.add database <DatabaseName> ingestors ('aadapp=<ApplicationID>;<TenantID>')
Konfigurace fluent Bitu pro odesílání protokolů do tabulky
Pokud chcete nakonfigurovat Fluent Bit pro odesílání protokolů do tabulky v Kusto, vytvořte klasický režim nebo režimu YAML konfigurační soubor s následujícími výstupními vlastnostmi:
| Pole | Popis | Povinný | Výchozí |
|---|---|---|---|
| Název | Název kanálu. | azure_kusto |
|
| ID nájemce | ID tenanta z Vytvoření aplikačního objektu Microsoft Entra. | ✔️ | |
| identifikátor klienta | ID aplikace z Vytvoření služebního principála Microsoft Entra. | ✔️ | |
| tajný klíč klienta | Hodnota tajného klíče klienta (heslo) z Vytvoření zástupce služby Microsoft Entra. | ✔️ | |
| managed_identity_client_id (spravovaný identifikátor klienta identity) | ID klienta spravované identity, které se má použít k ověřování. | ✔️ | |
| koncový bod pro ingest | Zadejte hodnotu popsanou pro Ingestion_Endpoint. | ✔️ | |
| název databáze | Název databáze, která obsahuje tabulku protokolů. | ✔️ | |
| název tabulky | Název tabulky z Vytvoření cílové tabulky. | ✔️ | |
| referenční mapa pro ingestaci | Název mapování příjmu dat z Vytvoření cílové tabulky. Pokud jste nevytvořili mapování příjmu dat, odeberte vlastnost z konfiguračního souboru. | ||
| klíč_logu | Název klíče obsahu protokolu. Například log. |
log |
|
| Zahrnout_klíč značky | Pokud je tato možnost povolená, přidá se značka k výstupu. | On |
|
| značka_klíč | Hlavní název značky. Ignorováno, pokud je include_tag_key false. |
tag |
|
| zahrnout_časový_klíč | Časové razítko se připojí k výstupu, pokud je povoleno. Používá vlastnost time_key. |
On |
|
| časový klíč | Název klíče pro časové razítko v záznamech protokolu. Ignorováno, pokud include_time_key false. |
timestamp |
|
| časový limit připojení k koncovému bodu pro příjem | Časový limit připojení různých koncových bodů Kusto v sekundách. | 60 |
|
| komprese_povolena | V případě povolení odešle komprimovanou datovou část HTTP (gzip) do Kusto. | true |
|
| interval_aktualizace_zdrojů_ingesce | Interval aktualizace prostředků příjmu dat koncového bodu Kusto v sekundách | ||
| dělníci | Počet pracovníků k provádění operací vyprázdnění pro tento výstup. | 0 |
|
| povolené ukládání do vyrovnávací paměti | Pokud je tato možnost povolena, před ingestováním do Kusto ukládá data na disk do vyrovnávací paměti. | Off |
|
| buffer_path | Určuje umístění adresáře, do kterého budou uložena uložená data ve vyrovnávací paměti, pokud buffering_enabled jsou On. |
/tmp/fluent-bit/azure-kusto/ |
|
| časový limit nahrávání | Určuje časový limit pro nahrání, pokud buffering_enabled je On. Soubory starší, než je tato hodnota, se ingestují i v případě, že jsou nižší než limit velikosti. |
30m |
|
| upload_file_size | Určuje maximální velikost souboru, který se má nahrát, pokud buffering_enabled je On. |
200MB |
|
| azure_kusto_buffer_key | Klíč vyrovnávací paměti Azure Kusto pro rozpoznání instancí pluginu, když buffering_enabled je On. Vyžaduje se pro více výstupů Azure Kusto s ukládáním do vyrovnávací paměti. |
key |
|
| omezení_velikosti_adresáře | Maximální velikost adresáře, ve kterém jsou data ve vyrovnávací paměti uložena, pokud buffering_enabled je On. |
8GB |
|
| předčasné_smazání_souboru_ze_zásobníku | Když je buffering_enabledOn, zda se má odstranit soubor s vyrovnávací pamětí brzy po úspěšném vytvoření blobu. |
Off |
|
| unify_tag | Vytvoří jeden soubor vyrovnávací paměti, pokud buffering_enabled je On. |
On |
|
| blob_uri_length | Nastavte délku generovaného blob URI před jeho ingestováním do Kusto. | 64 |
|
| plánovač_max_pokusů | Když je buffering_enabledOn, nastavte pomocí plánovače maximální počet pokusů pro příjem dat. |
3 |
|
| odstranit_při_max_chybě_nahrání | Pokud buffering_enabled je On, jestli se má odstranit soubor vyrovnávací paměti při maximálním počtu chyb nahrávání. |
Off |
|
| časový limit IO | Nakonfigurujte časový limit vstupně-výstupních operací HTTP pro nahrávání. | 60s |
Pokud chcete zobrazit ukázkový konfigurační soubor, vyberte příslušnou kartu:
[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]
[OUTPUT]
Match *
Name azure_kusto
Tenant_Id <app_tenant_id>
Client_Id <app_client_id>
Client_Secret <app_secret>
Ingestion_Endpoint https://ingest-<cluster>.<region>.kusto.windows.net
Database_Name <database_name>
Table_Name <table_name>
Ingestion_Mapping_Reference <mapping_name>
ingestion_endpoint_connect_timeout <ingestion_endpoint_connect_timeout>
compression_enabled <compression_enabled>
ingestion_resources_refresh_interval <ingestion_resources_refresh_interval>
buffering_enabled On
upload_timeout 2m
upload_file_size 125M
azure_kusto_buffer_key kusto1
buffer_file_delete_early Off
unify_tag On
buffer_dir /var/log/
store_dir_limit_size 16GB
blob_uri_length 128
scheduler_max_retries 3
delete_on_max_upload_error Off
io_timeout 60s
Potvrzení příjmu dat
Jakmile data dorazí do tabulky, potvrďte přenos dat tak, že zkontrolujete počet řádků:
FluentBitLogs | countPokud chcete zobrazit ukázku dat protokolu, spusťte následující dotaz:
FluentBitLogs | take 100
Související obsah
- Přehled integrace dat
- Přehled
dotazovacího jazyka Kusto (KQL) - Zápis dotazů