2015-05-04 121 views
1

我有一個示例文本文件,名爲testfile.txt包含簡單的「你好」。我想要這些數據在ElasticSearch上索引。我對logstash運行下面的命令:Logstash不將數據從外部文件寫入elasticsearch

bin/logstash -f logstash-test.conf 

的conf文件內容如下:

input{ 
    file 
     { 
      path=> "/home/abhinav/ELK/logstash/testfile.txt" 
      type => "test" 
      start_position => "beginning" 
     } 
    } 
output{ 
    elasticsearch { host => localhost 
      index => "test_index" 
       } 
    stdout { codec => rubydebug } 
     } 

的ElasticSearch日誌顯示follwing錯誤:

[2015-05-04 14:52:23,082][INFO ][cluster.service ] [Argo] added {[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{client=true, data=false},}, reason: zen-disco-receive(join from node[[logstash-abhinav-HP-15-Notebook-PC-10919-4006][CPk1djqFRnO-j-DlUMJIzg][abhinav-HP-15-Notebook-PC][inet[/192.168.1.2:9301]]{client=true, data=false}])

我嘗試以下操作:

用簡單的std輸入(stdin)嘗試ES n stdout。有效。

+0

所以,你解決你自己的問題?如果是這樣,請將解決方案作爲答案發布。 –

+0

還沒有!一旦找到答案,我會在評論中發佈答案。 –

回答

1

如果您使用的是相同的文件反覆用,你正在運行到「sincedb」的問題,以測試 - 見How to force Logstash to reparse a file?

您需要添加sincedb_path => "/dev/null"到您的文件輸入。通常這在生產場景中不需要,但是在測試時。

+0

謝謝!你告訴我正確的概念。雖然這個東西,加入了中國式的道路,卻沒有奏效,但我得到了正確的東西。我重新安裝了E L K,然後嘗試運行不同的conf文件並立即開始工作。 –

0

我發現我的問題的解決方案,也發現我們可以檢查的東西,如果logstash & ES沒有正常工作/通信。 :

  • 確保ES & Logstash被正確安裝由Alcanzar先生建議安裝
  • 版本彼此
  • 即使在測試時,請嘗試不同的測試情況不同Logstash的conf文件,兼容以上評論。

您也可以參考下面的鏈接,求助就這個問題:

Cannot load index to elasticsearch from external file, using logstash

https://logstash.jira.com/browse/LOGSTASH-1800