共用方式為


將數據從 Splunk Universal Forwarder 擷取至 Azure Data Explorer

重要

此連接器可用於 Microsoft Fabric 中的 即時分析 。 使用本文中的指示,但有下列例外狀況:

Splunk Universal Forwarder 是羽量版 Splunk Enterprise 軟體,可讓您同時內嵌來自許多來源的數據。 其設計目的是收集記錄數據和計算機數據,以及從各種來源轉送至中央Splunk Enterprise 伺服器或Splunk Cloud部署。 Splunk 通用轉寄站可作為可簡化數據收集和轉送程式的代理程式,使其成為 Splunk 部署中不可或缺的元件。 Azure 資料總管是一項快速又可高度調整的資料探索服務,可用於處理記錄和遙測資料。

在本文中,瞭解如何使用 Kusto Splunk 通用轉寄站連接器將數據傳送至叢集中的數據表。 您一開始會建立數據表和數據對應,然後指示 Splunk 將數據傳送至數據表,然後驗證結果。

必要條件

建立 Azure Data Explorer 數據表

建立數據表以接收 Splunk Universal Forwarder 的數據,然後將此數據表的存取權授與服務主體。

在下列步驟中,您會使用單一數據行建立名為 SplunkUFLogsRawText 數據表, () 。 這是因為 Splunk 通用轉寄站預設會以原始文字格式傳送數據。 下列命令可以在 Web UI 查詢編輯器中執行。

  1. 建立資料表:

    .create table SplunkUFLogs (RawText: string)
    
  2. 確認資料表 SplunkUFLogs 已建立且是空的:

    SplunkUFLogs
    | count
    
  3. 使用 必要條件 中的服務主體來授與許可權,以使用包含數據表的資料庫。

    .add database YOUR_DATABASE_NAME admins ('aadapp=YOUR_APP_ID;YOUR_TENANT_ID') 'Entra service principal: Splunk UF'
    

設定 Splunk 通用轉寄站

當您下載 Splunk 通用轉寄站時,會開啟精靈來設定轉寄站。

  1. 在精靈中,將 接收索引器 設定為指向裝載 Kusto Splunk 通用轉寄站連接器的系統。 針對 127.0.0.1[主機名] 或 [IP ] 輸入 ,針對 9997 埠輸入 。 將 目的地索引器 保留空白。

    如需詳細資訊,請參閱 啟用 Splunk Enterprise 的接收者

  2. 移至安裝 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 監視檔案和目錄

  3. 移至安裝 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 設定轉送

  4. 重新啟動 Splunk 通用轉寄站。

設定 Kusto Splunk 通用連接器

若要設定 Kusto Splunk Universal 連接器,以將記錄傳送至 Azure Data Explorer 資料表:

  1. GitHub 存放庫下載或複製連接器。

  2. 移至連接器的基底目錄:

    cd .\SplunkADXForwarder\
    
  3. 編輯 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
    
    欄位 Description
    ingest_url Azure Data Explorer 叢集的擷取 URL。 您可以在叢集的 [概觀] 索引標籤的 [數據擷取 URI] 底下的 [Azure 入口網站 中找到它。 其格式應該是 https://ingest-<clusterName>.<region>.kusto.windows.net
    client_id 您在必要條件一節中建立 Microsoft Entra 應用程式註冊的用戶端識別碼。
    client_secret 您在必要條件一節中建立 Microsoft Entra 應用程式註冊的客戶端密碼。
    authority 保留您在必要條件一節中建立 Microsoft Entra 應用程式註冊的租用戶標識碼。
    database_name Azure Data Explorer 資料庫的名稱。
    table_name Azure Data Explorer 目的地數據表的名稱。
    table_mapping_name 數據表的 擷取數據對應 名稱。 如果您沒有對應,您可以從組態檔省略此屬性。 您稍後一律可以將數據剖析成各種數據行。
    data_format 傳入數據的預期數據格式。 傳入數據採用原始文字格式,因此建議的格式為 csv,預設會將原始文字對應至零索引。
  4. 建置 Docker 映射:

    docker build -t splunk-forwarder-listener
    
  5. 執行 Docker 容器:

    docker run -p 9997:9997 splunk-forwarder-listener
    

確認數據已內嵌至 Azure Data Explorer

Docker 執行之後,數據會傳送至您的 Azure Data Explorer 數據表。 您可以在 Web UI 查詢編輯器中執行查詢,以確認數據已擷取。

  1. 執行下列查詢,以確認資料已內嵌至數據表:

    SplunkUFLogs
    | count
    
  2. 執行下列查詢以檢視資料:

    SplunkUFLogs
    | take 100