logstash配置多入多出並互相隔離
需求:需要利用同一logstash程序採集不同日誌,輸出到es的不同index,各輸入輸出隔離;
主要需要解決如下兩個問題:
1、如何載入多個配置檔案?
普通啟動方式:nohup bin/logstash -f config/logstash.conf &
多配置檔案啟動方式:nohup bin/logstash -f config/java-conf &
注意:java-conf為目錄,將載入該目錄下所有配置檔案;不要使用config/java-conf/*.conf
問題:配置不當,各輸入輸出會存在交叉,解決辦法參考以下第二點。
2、如何隔離各輸入輸出?
利用type,對輸入輸出進行篩選,配置參考:
log1.conf input { file { type => "log1" path => "/**/log1.log" discover_interval => 10 # 監聽間隔 start_position => "beginning" #從頭開始 } }
#輸出到elasticsearch output { if [type] == "log1"{ elasticsearch { index => "log1-%{+YYYY.MM.dd}" hosts => "192.168.2.32:9200" #輸出到elasticsearch 對應伺服器 } } }
log2.conf input { file { type => "log2" path => "/**/log2.log" discover_interval => 10 # 監聽間隔 start_position => "beginning" #從頭開始 } }
#輸出到elasticsearch output { if [type] == "log2"{ elasticsearch { index => "log2-%{+YYYY.MM.dd}" hosts => "192.168.2.32:9200" #輸出到elasticsearch 對應伺服器 } } }
PS:index名不能包含大寫字母。