共用方式為


使用 Fluent Bit 將數據內嵌至 Azure 數據總管

Fluent Bit 是開放原始碼代理程式,可收集來自各種來源的記錄、計量和追蹤。 它可讓您先篩選、修改和匯總事件數據,再將其傳送至記憶體。 Azure 資料總管是一項快速且可高度調整的資料探索服務,可用於處理記錄和遙測資料。 本文會引導您完成使用 Fluent Bit 將數據傳送至 Azure 數據總管的程式。

在本文中,您將學會如何:

如需數據連接器的完整清單,請參閱 數據連接器概觀

必要條件

建立 Azure 數據總管數據表來儲存記錄

Fluent Bit 會以 JSON 格式將記錄轉送至具有三個屬性的 Azure 數據總管:(動態)、(字串)和 timestamp (datetime)。logtag

您可以為每個屬性建立具有資料行的數據表。 或者,如果您有結構化記錄,您可以建立數據表,其中包含對應至自定義數據行的記錄屬性。 若要深入瞭解,請選取相關的索引標籤。

若要從 Fluent Bit 建立傳入記錄的數據表:

  1. 選取您要建立資料表的資料庫。

  2. 執行下列 .create table 命令

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

    Azure 數據總管會自動將傳入 JSON 屬性對應至正確的數據行。

使用擷取數據的許可權註冊 Microsoft Entra 應用程式

Microsoft Entra ID 應用程式驗證用於需要存取 Azure 資料總管且沒有用戶的應用程式。 若要使用 Fluent Bit 擷取數據,您必須建立並註冊Microsoft Entra ID 服務主體,然後授權此主體將數據內嵌至 Azure 數據總管數據表。

  1. 建立Microsoft Entra 應用程式註冊

  2. 儲存 應用程式(用戶端)標識碼目錄(租使用者)標識碼和用戶端秘密密鑰 ,以用於下列步驟。

  3. 執行下列命令,將 取代 <MyDatabase> 為資料庫的名稱:

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

    此命令會將應用程式許可權授與將數據內嵌至資料表。 如需詳細資訊,請參閱 角色型訪問控制

設定 Fluent Bit 將記錄傳送至數據表

若要設定 Fluent Bit 將記錄傳送至 Azure 數據總管數據表,請使用下列輸出屬性建立 傳統模式YAML 模式 組態檔:

欄位 描述
Name azure_kusto
比對 要與傳入記錄標記相符的模式。 它會區分大小寫,並支援星號 (*) 字元作為通配符。
Tenant_Id 來自註冊具有內嵌數據許可權的 Microsoft Entra 應用程式的目錄 (tenant) 識別碼
Client_Id 應用程式 (client) 識別碼 ,來自 註冊具有內嵌數據許可權的 Microsoft Entra 應用程式。
Client_Secret 用戶端秘密密鑰值 註冊具有擷取數據許可權的 Microsoft Entra 應用程式。
Ingestion_Endpoint 使用叢集概觀下 Azure 入口網站 中找到的數據擷取 URI
Database_Name 包含記錄數據表的資料庫名稱。
Table_Name 建立 Azure 數據總管數據表中的數據表名稱。
Ingestion_Mapping_Reference 建立 Azure 數據總管數據表擷取對應的名稱。 如果您未建立擷取對應,請從組態檔中移除 屬性。

若要查看範例組態檔,請選取相關的索引標籤:

[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

確認數據已內嵌至 Azure 數據總管

設定完成後,記錄應該會抵達您的 Azure 數據總管數據表。

  1. 若要確認已擷取記錄,請執行下列查詢:

    FluentBitLogs
    | count
    
  2. 若要檢視記錄數據的範例,請執行下列查詢:

    FluentBitLogs
    | take 100