Logstash學習 配置語法

2022-05-12 21:55:40 字數 1509 閱讀 5768

logstash 用{}來定義區域。區域內可以包括外掛程式區域定義,你可以在乙個區域定義多個外掛程式,外掛程式區域內則可以定義鍵值對設定。

logstash支援少量的資料值型別:

注意:地域1.2.0的版本雜湊語法跟陣列一樣。

欄位是 logstash::event 物件的屬性。事件就像乙個雜湊一樣,所以可以想想欄位就像乙個鍵值對。

如果想在logstash配置中使用欄位的值,只需要把字段的名字解除安裝中括號裡就行了,這就較字段引用。對於潛逃字段,每層欄位名都解除安裝裡就可以。例:[object][field]

小貼士:

logstash的陣列也支援倒序下表,即[geoip][location][-1]可以獲取陣列最後乙個元素的值;

logstash還支援變數內插,在字串裡使用字段引用的方法是這樣:"the logitude is %"

logstash從1.3.0版開始支援條件判斷和表示式,支援下面這些操作符:

-e 執行,這個引數的預設值是:input}output}

--config 或 -f 配置檔案,後跟引數型別可以是乙個字串的配置(像hello world例子一樣)或全路徑檔名或全路徑路徑(如:/etc/logstash.d/,logstash會自動讀取/etc/logstash.d/目錄下所有*.conf 的文字檔案,然後在自己記憶體裡拼接成乙個完整的大配置檔案再去執行)

注意:logstash列出目錄下所有檔案時,是字母排序的,而logstash配置段的filter和output都是順序執行,所以順序非常重要。

採用多檔案管理的使用者,推薦採用數字編號方式命名配置檔案,同時在配置中,嚴禁採用if判斷限定不同日誌的動作。

--configtest 或 -t 測試

--log 或 -l 日誌。logstash預設輸出日誌到標準錯誤,生產環境下用此引數自定義

--pipeline-workers 或 -w 執行filter和output的pipeline執行緒數量,預設是cpu核數。

--pipeline-batch-size 或 -b

每個 logstash pipeline 執行緒,在執行具體的 filter 和 output 函式之前,最多能累積

的日誌條數。預設是 125 條。越大效能越好,同樣也會消耗越多的 jvm 記憶體。

--pipeline-batch-delay 或 -u

每個 logstash pipeline 執行緒,在打包批量日誌的時候,最多等待幾毫秒。預設是 5ms。

--pluginpath 或 -p

可以寫自己的外掛程式,然後用 bin/logstash --pluginpath/path/to/own/plugins 載入它們。

--verbose

輸出一定的除錯日誌。

--debug

輸出更多的除錯日誌。

從 logstash 5.0 開始,新增了 $ls_home/config/logstash.yml 檔案,可以將

所有的命令列引數都通過 yaml 檔案方式設定。同時為了反映命令列配置引數的層

級關係,引數也都改成用.而不是-了。

Logstash配置語法及相關命令

輸入外掛程式 input 過濾外掛程式 filter 輸出外掛程式 output array users lists path var log messages var log log uris boolean ssl enable true bytes my bytes 1113 1113 byt...

logstash引數配置

input配置 file 讀取檔案 input start position logstash從什麼位置讀取檔案資料,預設是結束的位置,也就是說logstash會以類似tail f的形式執行。如果需要匯入原始資料,需要把這個設定為 beginnning logstash就從頭開始讀取.stdin 標...

logstash 配置詳解

摘要 logstash配置總結和例項 這裡記錄logstash配置中注意的事項 整個配置檔案分為三部分 input,filter,output。參考這裡的介紹 1 在windows中,檔案路徑中分隔符要使用 而不是 如果使用了 那麼 匹配將會失敗。2 預設的 timestamp是使用utc時間表示的...