Tungsten Fabric SDN — SmartNIC vRouter
1403
2022-05-29
對 Splunk 認證專業人員的需求出現了巨大的增長,這主要是由于機器生成的日志數據不斷增加,這些數據來自幾乎所有塑造當今世界的先進技術。?如果您想在您的基礎設施中實施 Splunk,那么了解 Splunk 的內部工作方式非常重要。我寫這篇博文是為了幫助您了解 Splunk 架構,并告訴您不同的 Splunk 組件如何相互交互。
如果您想更清楚地了解什么是 Splunk,它?會讓您了解 Splunk 并告訴您為什么它對于擁有龐大基礎設施的公司來說是必不可少的。
在討論不同 Splunk 組件的功能之前,讓我先提一下每個組件所屬的數據管道的各個階段。
數據管道中的不同階段
Splunk 主要有 3 個不同的階段:
數據輸入階段
數據存儲階段
數據搜索階段
數據輸入階段
在此階段,Splunk 軟件使用來自其源的原始數據流,將其分解為 64K 塊,并使用元數據鍵對每個塊進行注釋。元數據鍵包括數據的主機名、來源和來源類型。鍵還可以包括內部使用的值,例如數據流的字符編碼和在索引階段控制數據處理的值,例如應將事件存儲到的索引。
數據存儲階段
數據存儲包括兩個階段:解析和索引。
在解析階段,Splunk 軟件檢查、分析和轉換數據以僅提取相關信息。這也稱為事件處理。在此階段,Splunk 軟件將數據流分解為單個事件。解析階段有許多子階段:
將數據流分成單獨的行
識別、解析和設置時間戳
使用從源范圍內的鍵復制的元數據注釋單個事件
根據正則表達式轉換規則轉換事件數據和元數據
在索引階段,Splunk 軟件將解析的事件寫入磁盤上的索引。它寫入壓縮的原始數據和相應的索引文件。索引的好處是可以在搜索過程中輕松訪問數據。
數據搜索階段
此階段控制用戶如何訪問、查看和使用索引數據。作為搜索功能的一部分,Splunk 軟件存儲用戶創建的知識對象,例如報告、事件類型、儀表板、警報和字段提取。搜索功能還管理搜索過程。
Splunk 組件
如果您查看下圖,您將了解各種 Splunk 組件所屬的不同數據管道階段。
Splunk 有 3 個主要組件:
Splunk Forwarder,用于數據轉發
Splunk Indexer,用于解析和索引數據
Search Head,是一個用于搜索、分析和報告的圖形用戶界面
Splunk 轉發器
Splunk Forwarder 是您必須用于收集日志的組件。假設您想從遠程機器收集日志,那么您可以通過使用獨立于主 Splunk 實例的 Splunk 遠程轉發器來完成該任務。
事實上,您可以在多臺機器上安裝多個這樣的轉發器,它們會將日志數據轉發到 Splunk Indexer 進行處理和存儲。如果您想對數據進行實時分析怎么辦?Splunk 轉發器也可用于此目的。您可以配置轉發器以實時向 Splunk 索引器發送數據。您可以將它們安裝在多個系統中,并實時從不同機器同時收集數據。
要了解數據的實時轉發是如何發生的,您可以閱讀我的博客,了解 Domino's 如何使用 Splunk 來提高運營效率。
與其他傳統監控工具相比,Splunk Forwarder 消耗的 CPU 非常少~1-2%。您可以輕松地將它們擴展到數以萬計的遠程系統,并在對性能影響最小的情況下收集數 TB 的數據。
現在,讓我們了解不同類型的 Splunk 轉發器。
通用轉發器- 如果您想轉發在源收集的原始數據,您可以選擇通用轉發器。它是一個簡單的組件,它在將傳入數據流轉發到索引器之前對其進行最少的處理。
數據傳輸是市場上幾乎所有工具的主要問題。由于在轉發數據之前對數據進行了最少的處理,因此還會將大量不必要的數據轉發到索引器,從而導致性能開銷。
為什么要費力地將所有數據傳輸到索引器,然后只過濾掉相關數據?僅將相關數據發送到索引器并節省帶寬、時間和金錢不是更好嗎?這可以通過使用我在下面解釋的重型轉發器來解決。
重型轉發器- 您可以使用重型轉發器并消除一半的問題,因為在將數據轉發到索引器之前,源本身會進行一層數據處理。Heavy Forwarder 通常在源頭進行解析和索引,并智能地將數據路由到 Indexer,從而節省帶寬和存儲空間。所以當重型轉發器解析數據時,索引器只需要處理索引段。
Splunk 索引器
索引器是 Splunk 組件,您必須使用它來索引和存儲來自轉發器的數據。Splunk 實例將傳入的數據轉換為事件并將其存儲在索引中以高效執行搜索操作。如果您從通用轉發器接收數據,則索引器將首先解析數據,然后對其進行索引。完成數據解析以消除不需要的數據。但是,如果您從重型轉發器接收數據,索引器將只索引數據。
當 Splunk 實例索引您的數據時,它會創建許多文件。這些文件包含以下內容之一:
壓縮形式的原始數據
指向原始數據的索引(索引文件,也稱為 tsidx 文件),以及一些元數據文件
這些文件駐留在稱為桶的目錄集中。
現在讓我告訴你索引是如何工作的。
Splunk 處理傳入數據以實現快速搜索和分析。它以各種方式增強數據,例如:
將數據流分成單獨的、可搜索的事件
創建或識別時間戳
提取主機、源和源類型等字段
對傳入數據執行用戶定義的操作,例如識別自定義字段、屏蔽敏感數據、寫入新的或修改過的密鑰、應用多行事件的破壞規則、過濾不需要的事件以及將事件路由到指定的索引或服務器
此索引過程也稱為事件處理。
Splunk Indexer 的另一個好處是數據復制。您無需擔心數據丟失,因為 Splunk 會保留索引數據的多個副本。這個過程稱為索引復制或索引器集群。這是在索引器集群的幫助下實現的,索引器集群是一組配置為復制彼此數據的索引器。
Splunk 搜索頭
搜索頭是用于與 Splunk 交互的組件。它為用戶提供圖形用戶界面以執行各種操作。您可以通過輸入搜索詞來搜索和查詢Indexer 中存儲的數據,您將得到預期的結果。
您可以在單獨的服務器上安裝搜索頭,也可以在同一服務器上與其他 Splunk 組件一起安裝。搜索頭沒有單獨的安裝文件,您只需要在Splunk服務器上啟用splunkweb服務即可啟用它。
Splunk 實例既可以用作搜索頭,也可以用作搜索對等體。僅執行搜索而不執行索引的搜索頭被稱為專用搜索頭。而搜索對等點執行索引并響應來自其他搜索頭的搜索請求。
在 Splunk 實例中,搜索頭可以將搜索請求發送到一組索引器或搜索對等點,后者對其索引執行實際搜索。然后搜索頭合并結果并發回給用戶。這是一種更快的數據搜索技術,稱為分布式搜索。
搜索頭集群是協調搜索活動的搜索頭組。集群協調搜索頭的活動,根據當前負載分配作業,并確保所有搜索頭都可以訪問相同的知識對象集。
具有部署服務器/管理控制臺主機的高級 Splunk 架構
查看上圖以了解 Splunk 的端到端工作。圖像顯示了一些將數據發送到索引器的遠程轉發器。根據索引器中存在的數據,您可以使用搜索頭執行搜索、分析、可視化和創建操作智能知識對象等功能。
管理控制臺主機充當集中配置管理器,負責向部署客戶端分發配置、應用程序更新和內容更新。部署客戶端是轉發器、索引器和搜索頭。
Splunk 架構
如果您已經理解了上面解釋的概念,您就可以輕松地將 Splunk 架構聯系起來。查看下圖,全面了解流程中涉及的各種組件及其功能。
您可以通過運行自動化數據轉發腳本來接收來自各種網絡端口的數據
您可以監控進來的文件并實時檢測變化
該轉發器有能力來智能地路線數據,克隆的數據,并做負載均衡上的數據到達之前索引。克隆是為了在數據源上創建一個事件的多個副本,當負載平衡完成時,即使一個實例失敗,數據也可以轉發到另一個托管索引器的實例
正如我之前提到的,部署服務器用于管理整個部署、配置和策略
收到此數據后,將其存儲在Indexer 中。然后將索引器分解為不同的邏輯數據存儲區,您可以在每個數據存儲區設置權限,這些權限將控制每個用戶查看、訪問和使用的內容
一旦數據進入,您可以搜索索引數據并將搜索分發給其他搜索對等點,結果將合并并發回搜索頭
除此之外,您還可以進行預定搜索并創建警報,當某些條件與保存的搜索匹配時將觸發警報
您可以使用已保存的搜索來創建報告并使用可視化儀表板進行分析
最后,您可以使用Knowledge 對象來豐富現有的非結構化數據
可以從Splunk CLI或Splunk Web 界面訪問搜索頭和知識對象。此通信通過REST API連接發生
我希望您喜歡閱讀有關 Splunk 架構的博客,其中討論了各種 Splunk 組件及其工作原理。請繼續關注我關于 Splunk 知識對象的下一篇博客,同時您可以點擊下面的鏈接閱讀我之前在 Splunk 教程系列中的博客。
spark
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。