Related Posts Plugin for WordPress, Blogger...


前言

先前在 Splunk 基礎架構和運作元件文章中,我們已經知道 Splunk 有下列三個不同的層級,分別是「Data Input、Indexing、Search Management」來處理資料。


本文的主題「Data Pipeline」便是指資料在 Splunk 運作環境中,經過各層級處理後的傳送路徑:

  • Data Input 層級: 負責資料的 Input 處理作業。
  • Indexing 層級: 負責資料的 ParsingIndexing 處理作業。
  • Search Management 層級: 負責資料的 Search 處理作業。






Data Pipeline 運作架構

了解 Splunk Data Pipeline 的運作概念後,接著我們深入針對每個層級中資料的處理作業階段,進行比較深入的運作原理了解。

Input 階段 (Indexer / Universal Forwarder / Heavy Forwarder)

Splunk 從資料來源端收到「Raw Data Stream」(例如,透過 Indexer 匯入資料、透過 Forwarder 傳送資料),然後將資料分解成「64 K Blocks」,並且結合「Metadata Keys」為每個 Block 進行標籤 (內容包括 Host、Source、Source Type…等)。下列是 Universal Forwarder 和 Heavy Forwarder 的差異:

  • Universal Forwarder: 只負責將資料「傳送」給 Indexer 主機,讓 Indexer 角色去處理資料 (Parsing + Indexing)。
  • Heavy Forwarder :具備完整 Splunk Enterprise Instance 功能,將資料傳送給 Indexer 之前便先進行「Only Parse Data」的前置處理作業,屆時的 Indexer 主機收到後,其上的 Indexer 角色只要負責 Indexing 階段的資料處理作業即可。
  • 有關 Forwarder 的詳細資訊,請參考 About forwarding and receiving - Splunk Documentation 官方文件。


Parsing 階段 (Indexer / Heavy Forwarder)

在這個資料處理階段中,Splunk 會進行資料的「檢查、識別、分析、轉換、加入時間戳記……等」作業,這個階段也稱之為「Event Processing」。此時,Splunk 會把收到的資料流分解成「單個 Event」,並進行下列作業程序:

  • 將 Data Streams 分解成「單行」(Single Lines)
  • 進行資料的 識別 (Identify)、解析 (Parse)、加入時間戳記 (Set Timestamps)
  • 將資料的 Input Time 加入至每個 Event 的 Source-Wide Keys 當中。
  • 透過正規表示式處理 Event Data 和 Metadata。


Indexing 階段 (Indexer)

在這個資料處理階段中,Splunk 將 Parsing 階段處理完畢的 Event 寫入至硬碟中的 Index 內,並且會執行下列作業程序:

  • 將 Raw Data Files 進行壓縮的動作。
  • 將 Raw Data Files 對應到 Index Files。


此外,為了簡單理解通常會把「Parsing + Indexing」這二個階段通常為「Indexing Process」。然而,當後續學習到更進階的 Splunk 運作時,便需要將這二各資料處理階段拆分,以便更仔細的檢查資料和實際處理情況。有關 Indexing 進階資訊,請參考 Indexes, indexers, and indexer clusters - Splunk Documentation 官方文件。

Search 階段 (Indexer / Search Head)

使用者此時可以透過 Search 功能,來搜尋和過濾資料內容並且建立「Reports、Event Types、Dashboards、Alerts、Field Extractions……等」。簡單來說,這裡便是決定使用者可以執行「Accesses、Views、Uses」哪些 Indexed Data。

後續學習到更進階時,可以透過「同時搜尋多個 Indexers」,達成將「Parsing, Indexing, Search」階段的拆分作業 (更適合大型運作架構),詳細資訊請參考  About distributed search - Splunk Documentation 官方文件。






參考資源







Splunk 筆記系列文章

文章標籤: