使用 Fluent Bit 將數據內嵌至 Azure 數據總管
Fluent Bit 是開放原始碼代理程式,可收集來自各種來源的記錄、計量和追蹤。 它可讓您先篩選、修改和匯總事件數據,再將其傳送至記憶體。 Azure 資料總管是一項快速且可高度調整的資料探索服務,可用於處理記錄和遙測資料。 本文會引導您完成使用 Fluent Bit 將數據傳送至 Azure 數據總管的程式。
在本文中,您將學會如何:
如需數據連接器的完整清單,請參閱 數據連接器概觀。
必要條件
- Fluent Bit。
- Azure 資料總管叢集和資料庫。 建立叢集和資料庫。
建立 Azure 數據總管數據表來儲存記錄
Fluent Bit 會以 JSON 格式將記錄轉送至具有三個屬性的 Azure 數據總管:(動態)、(字串)和 timestamp
(datetime)。log
tag
您可以為每個屬性建立具有資料行的數據表。 或者,如果您有結構化記錄,您可以建立數據表,其中包含對應至自定義數據行的記錄屬性。 若要深入瞭解,請選取相關的索引標籤。
若要從 Fluent Bit 建立傳入記錄的數據表:
選取您要建立資料表的資料庫。
執行下列 .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 數據總管數據表。
儲存 應用程式(用戶端)標識碼、 目錄(租使用者)標識碼和用戶端秘密密鑰 值 ,以用於下列步驟。
執行下列命令,將 取代
<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 數據總管數據表。
若要確認已擷取記錄,請執行下列查詢:
FluentBitLogs | count
若要檢視記錄數據的範例,請執行下列查詢:
FluentBitLogs | take 100
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應