將數據從 Splunk 通用轉寄站內嵌至 Azure 數據總管
重要
此連接器可用於 Microsoft Fabric 中的即時智慧 。 使用本文中的指示,但有下列例外狀況:
- 如有需要,請使用建立 KQL 資料庫中的 指示建立資料庫。
- 如有需要,請使用建立空白數據表中的 指示建立數據表。
- 使用複製 URI 中的 指示取得查詢或擷取 URI。
- 在 KQL 查詢集中執行查詢。
Splunk 通用轉寄站是 Splunk Enterprise 軟體的輕量版,可讓您同時內嵌許多來源的數據。 其設計目的是從各種來源收集記錄數據和機器數據,並將其轉送至中央Splunk Enterprise伺服器或Splunk Cloud部署。 Splunk 通用轉寄站可作為可簡化數據收集和轉送程式的代理程式,使其成為 Splunk 部署中不可或缺的元件。 Azure 資料總管是快速及可調整的資料探索服務,以取得記錄和遙測資料。
在本文中,瞭解如何使用 Kusto Splunk 通用轉寄站連接器將數據傳送至叢集中的數據表。 您一開始會建立數據表和數據對應,然後指示 Splunk 將數據傳送至數據表,然後驗證結果。
必要條件
- Splunk 通用轉寄站 下載到記錄來源所在的相同計算機上。
- Azure 資料總管叢集和資料庫。 建立叢集和資料庫。
- Docker 安裝在執行 Kusto Splunk 通用轉寄站連接器的系統上。
- Microsoft Entra 服務主體。 建立Microsoft Entra 服務主體。
建立 Azure 數據總管數據表
建立數據表以接收 Splunk 通用轉寄站的數據,然後授與此數據表的服務主體存取權。
在下列步驟中,您會使用單一數據行 (RawText
) 建立名為 SplunkUFLogs
的數據表。 這是因為 Splunk 通用轉寄站預設會以原始文字格式傳送數據。 下列命令可以在 Web UI 查詢編輯器中執行。
建立資料表:
.create table SplunkUFLogs (RawText: string)
確認資料表
SplunkUFLogs
已建立且是空的:SplunkUFLogs | count
使用必要條件中的服務主體來授與許可權,以使用包含數據表的資料庫。
.add database YOUR_DATABASE_NAME admins ('aadapp=YOUR_APP_ID;YOUR_TENANT_ID') 'Entra service principal: Splunk UF'
設定 Splunk 通用轉寄站
當您下載 Splunk 通用轉寄站時,會開啟精靈來設定轉寄站。
在精靈中 ,將接收索引器 設定為指向裝載 Kusto Splunk 通用轉寄站連接器的系統。 針對
127.0.0.1
[主機名] 或 [IP ] 輸入 ,然後9997
輸入 埠。 將目的地 索引器 保留空白。如需詳細資訊,請參閱 啟用 Splunk Enterprise 的接收者。
移至安裝 Splunk 通用轉寄站的資料夾,然後移至 /etc/system/local 資料夾。 建立或修改 inputs.conf 檔案,以允許轉寄站讀取記錄:
[default] index = default disabled = false [monitor://C:\Program Files\Splunk\var\log\splunk\modinput_eventgen.log*] sourcetype = modinput_eventgen
如需詳細資訊,請參閱 使用 inputs.conf 監視檔案和目錄。
移至安裝 Splunk 通用轉寄站的資料夾,然後移至 /etc/system/local 資料夾。 建立或修改 outputs.conf 檔案,以判斷記錄的目的地位置,這是裝載 Kusto Splunk 通用轉寄站連接器之系統的主機名和埠:
[tcpout] defaultGroup = default-autolb-group sendCookedData = false [tcpout:default-autolb-group] server = 127.0.0.1:9997 [tcpout-server://127.0.0.1:9997]
如需詳細資訊,請參閱 使用 outputs.conf 設定轉送。
重新啟動 Splunk 通用轉寄站。
設定 Kusto Splunk 通用連接器
若要設定 Kusto Splunk Universal 連接器,將記錄傳送至 Azure 數據總管數據表:
從 GitHub 存放 庫下載或複製連接器。
移至連接器的基底目錄:
cd .\SplunkADXForwarder\
編輯config.yml以包含下列屬性:
ingest_url: <ingest_url> client_id: <ms_entra_app_client_id> client_secret: <ms_entra_app_client_secret> authority: <ms_entra_authority> database_name: <database_name> table_name: <table_name> table_mapping_name: <table_mapping_name> data_format: csv
欄位 描述 ingest_url
Azure 數據總管叢集的擷取 URL。 您可以在叢集 [概觀] 索引卷標的 [數據擷取 URI] 下方的 [Azure 入口網站 中找到它。 其格式應該是 https://ingest-<clusterName>.<region>.kusto.windows.net
。client_id
您在必要條件一節中建立之Microsoft Entra 應用程式註冊的用戶端識別碼。 client_secret
您在必要條件一節中建立Microsoft Entra 應用程式註冊的客戶端密碼。 authority
保留您在必要條件一節中 建立之Microsoft Entra 應用程式註冊的租用戶標識碼 。 database_name
Azure 數據總管資料庫的名稱。 table_name
Azure 資料總管目的地數據表的名稱。 table_mapping_name
數據表的 擷取數據對應 名稱。 如果您沒有對應,您可以從組態檔省略此屬性。 您稍後一律可以將數據剖析成各種數據行。 data_format
內送數據的預期數據格式。 傳入數據採用原始文字格式,因此建議的格式為 csv
,預設會將原始文字對應至零索引。建置 Docker 映像:
docker build -t splunk-forwarder-listener
執行 Docker 容器:
docker run -p 9997:9997 splunk-forwarder-listener
確認數據已內嵌至 Azure 數據總管
Docker 執行之後,數據就會傳送至您的 Azure 數據總管數據表。 您可以在 Web UI 查詢編輯器中執行查詢,以確認資料是否已內嵌。
執行下列查詢,以驗證資料已擷取至資料表:
SplunkUFLogs | count
執行下列查詢以檢視資料:
SplunkUFLogs | take 100