2016-05-06 60 views
0

是否可以按需運行logstash而不是流式文件?我有一組文件放置在一個文件夾中,但是我想在彈性搜索的基礎上僅將它們中的幾個按需求推入。根據需要運行logstash

這甚至可能與logstash?我可以選擇以編程方式執行而不使用logstash。但考慮到今天的文件大小(〜10GB)和未來的預期增長,我想看看logstash是否是一種選擇。

+0

如何在需要流式處理文件時手動運行Logstash? – Val

+0

Logstash不接受輸入文件作爲參數。因此,手動做需要創建不同的配置。一旦處理完成,logstash也不會停止。處理完成後,我需要logstash停止。有什麼辦法嗎?請建議 – user1401472

+1

您始終可以使用'stdin'輸入將文件內容導入到Logstash中:'cat myfile.txt | bin/logstash -f logstash.conf',其中'logstash.conf'定義'input {stdin {}}' – Val

回答

2

你總是可以管的內容文件放入Logstash使用stdin的輸入:

cat myfile.txt | bin/logstash -f logstash.conf 

其中logstash.conf限定

input { 
    stdin{} 
} 
-1

您可以參考logstash-input-file尋求幫助。 要sepcify要監視的文件:

input{ 
    file{ 
     path => ["/var/log/messages","/var/log/nginx/access.log"] 
    } 
} 

,或者在你的情況下,你還可以監視一個文件夾,並排除在它的一些文件:

input{ 
    file{ 
     path => ["/var/log/nginx/*.log"] 
     exclude => "error.log" 
    } 
} 
+0

這是流文件的標準配置。一旦access.log文件處理完成,將不會停止使用此實例運行logstash。它將永遠等待,看看是否有任何修改。我想知道在文件處理完成後是否有辦法阻止該進程。 – user1401472