ELK學習筆記之logstash將配置寫在多個檔案

2022-05-09 22:29:43 字數 1648 閱讀 9067

我們用logsatsh寫配置檔案的時候,如果讀取的檔案太多,匹配的正則過多,會使配置檔案動輒成百上千行**,可能會造成閱讀和修改困難。這時候,我們可以將配置檔案的輸入、過濾、輸出分別放在不同的配置檔案裡,甚至把輸入、過濾、輸出再次分離,放在不同的檔案裡。

這時候,後期再需要增刪改查內容的時候,就容易維護了。

我們知道在啟動logstash的時候,只要加上-f /you_path_to_config_file就可以載入配置檔案了,如果我們需要載入多個配置檔案,只需要-f /you_path_to_config_directory就可以了。簡單說,就是在-f後面加上目錄就可以。

注意:目錄後面不能加 * 號,否則只會讀取乙個檔案,但是在讀取日誌檔案時,*可以匹配所有,比如sys.log*可以匹配所有以sys.log開頭的日誌檔案,如sys.log1,sys.log2等。

示例如下:

//

比如 /home/husen/config/目錄下有

這5個檔案

//我們使用 /logstash-5.5.1/bin/logstash -f /home/husen/config啟動logtstash

//logstash會自動載入這個5個配置檔案,並合併成1個整體的配置檔案

答案是:no!

比如:

#

# in1.conf內容如下:

input}#

# in2.conf內容如下:

input}#

# out1.conf如下

elasticsearch

## out2.conf如下

elasticsearch

//

這幾個配置檔案的目的是:

//想把in1.conf讀進來的sys.log的索引建立為from_sys_log

//把in.conf讀進來的error.log的索引建立為femo_error_log

-f /home/husen/config

//啟動之後,會發現in1.conf的日誌被輸出了兩次,in2.conf讀進來的日誌也被輸出了兩次

//結論:logstash讀取多個配置檔案只是簡單的將所有配置檔案整合到了一起!

//如果要彼此獨立,需要自己加欄位,然後判斷一下

//比如讀取來不同不同伺服器的同樣格式的日誌,那麼filter是可以共用的

//但是輸出的索引需要分別建立,以提高辨識度

如果要在配置檔案中,獨立一些部分,又要共用一些部分,比如我上門提高同樣的日誌來自不同的伺服器,需要用同樣的filter,但是建立不同的索引的問題,該怎麼辦?

建議使用tags或者type這兩個特殊字段,即在讀取檔案的時候,新增識別符號在tags中或者定義type變數。

示例如下:

#

# in1.conf內容如下:

input}#

# in2.conf內容如下:

input}#

# out1.conf如下

if [type] == "

from_sys"}

## out2.conf如下

if [type] == "

from_error"}

#特別地,如果要針對不同的型別日誌用不同filter來grok解析,

#也可以通過類似的方法判斷

ELK學習筆記(三)

經過在windows環境下的執行 配置logstash時真的很困難,改了一次又一次 今天是在linux下的測試環境下進行實戰。今天的流程如下 filebeat logstash elasticsearch kibana在你建立logstash管道之前,你需要先配置filebeat來傳送日誌行到log...

ELK學習筆記之Kibana安裝配置

kibana 是乙個開源的分析和視覺化平台,是elk的重要部分。kibana提供搜尋 檢視和與儲存在 elasticsearch 索引中的資料進行互動的功能。開發者或運維人員可以輕鬆地執行高階資料分析,並在各種圖表 和地圖中視覺化資料。系統 centos7.2 這次還是使用yum安裝了 2 sudo...

ELK學習筆記 二 原創

在 url 學習筆記 一 原創 url 中,介紹了logstash的入門,本文再對logstash進行分析,並將日誌匯入es中。b 1.input b input 有很多種,如stdin,file,log4j 等。這裡只著重分析file,下次在分析log4j.input path usr local...