logstash 事件處理管道擁有三個階段:輸入 → 過濾 → 輸出。
輸入產生事件,過濾修改事件、輸出將修改後的事件輸出到任何目的地。輸入和輸出搜支援編解碼器,使您可以在資料出入管道時對其進行編碼或解碼,而不必再使用單獨的過濾器。
使用 input 外掛程式將資料輸入至 logstash 中。
一些常用的 input 外掛程式有:
過濾器外掛程式是在 logstash 管道中的中間處理裝置。如果事件符合特定的條件,則可以將過濾器與條件結合使用以對事件執行操作。
一些常用的 filters 包括:
輸出是 logstash 管道的最後階段。乙個事件可以通過多個輸出進行傳遞,但一旦所有輸出處理都完成了,該事件就完成了全部流程的執行。
一些常用的 outputs 包括:
編解碼器是最基本的流過濾器,它可以作為輸入或輸出的一部分進行操作。編解碼器使您可以輕鬆地將訊息的傳輸與序列化過程分開。
一些常用的編解碼器:
logstash 事件處理管道協調輸入、過濾器和輸出的執行。logstash 管道中的每個輸入階段都在其自己的執行緒中執行。輸入外掛程式寫入事件到記憶體(預設)或硬碟的**佇列中,每個管道工作執行緒都會從該佇列中提取一批事件,通過配置的過濾器執行事件批處理,然後再通過任意輸出外掛程式執行過濾後的事件。事件批處理的大小和管道工作執行緒的數量都是可配置的(tuning and profiling logstash performance)。
預設情況下,logstash 在管道各階段(input → filter and filter → output)之間使用記憶體中的有界佇列來緩衝事件。如果 logstash 異常終止了,儲存在內容中的事件將會丟失。為了防止資料丟失,你可以啟用 logstash 將正在進行的事件持久化到硬碟(persistent queues)。
清晰的理解 logstash 是如何工作的,並且元件間是如何相互聯絡的可以幫助您當您需要設定或者調整 logstash 環境時更好的做決定。
根據設計和預設情況,logstash 並不保證事件的順序。重新排序可以在兩個地方進行:
當維護事件順序很重要時,請使用單個工作程序並設定 pipeline.ordered => true。這種方法可確保批處理是乙個接乙個的執行的,並且事件在批處理中保持其順序。
在 logstash.yml 檔案中的 pipeline.ordered 設定使您可以更好地控制單個工作程序管道地事件順序。
Logstash學習1 logstash的簡單例子
如何安裝elk redis外掛程式 logstash f test.conf config.test and exit 會列印出錯誤並且會自動退出 7.測試顯示ok的話。執行 logstash f first pipeline.conf config.reload.automatic 這個配置可以使...
簡述hdfs工作原理 HDFS的工作原理
hdfs 的工作原理 hadoop 分布式檔案系統 hdfs 是一種被設計成適合執行在通用硬體上的分布式檔案系統。hdfs 是乙個高度容錯性的系統,適合部署在廉價的 機器上。它能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。要理解 hdfs 的內部工作原理,首先要理解什麼是分布式 檔案系統。...
mysql nfs原理 nfs工作原理
nfs其最大功能時可以通過網路讓不同作業系統的計算機可以共享資料,所以也可以將其看作時一台檔案伺服器.nfs有屬於自己的協議與使用的埠號,但是在傳送資料或者其他相關資訊時候,nfs伺服器使用乙個稱i 遠端過程呼叫 rpc 的協議來協助nfs伺服器本身的執行 nfs協議 使用nfs,客戶端可以透明地訪...