2017-04-11 95 views
0

我有一個安裝X-Pack,Elasticsearch & Logstash。 Logstash正在向elasticsearch報告X-Pack的監控部分。X-Pack&Logstash - 沒有輸出到elasticsearch


現在我想讓logstash通過任何來自管道的節拍來彈性搜索。


我遵循這個指南here並創建了用戶提到角色&。 我還爲每個具有上述權限並使用here中的信息將角色分配給同一用戶(例如filebeat-*)的節拍類型創建了一個角色。

logstash.conf看起來如下:

input { 
    beats { 
    port => 5044 
    } 
} 
output { 
    elasticsearch { 
    hosts => ["http://localhost:9200"] 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    user => "user" 
    password => "pass-word" 
} 
    file { 
    path => "C:\temp\%{[@metadata][beat]}-%{+YYYY.MM.dd}.log" 
} 
} 

我正在創建的文件(例如,用於filebeat),但在elasticsearch的指數不會創建沒有數據出現在elasticsearch。

有沒有人看到配置中是否有問題?我正在努力尋找錯誤/解決方案。

使用提到的用戶正在工作(例如使用metricbeat),直接發佈到elasticsearch(不含Logstash),直接發送到elasticsearch。

我也沒有看到一些奇怪的日誌中,只需將輸出到彈性丟失:

07:52:53.807 [主]> worker0] DEBUG logstash.pipeline - 容納的過濾器{」事件「=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - filter received {」event「=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - output received {「event」=> {...}}
07:52:53.807 [[main]> worker0] DEBUG logstash.pipeline - output received {「event 「=> {...}}
07:52:53.8 70 [[main]> worker0] DEBUG logstash.outputs.file - 將文件寫入文件的文件。 {:filename =>「C:/temp/filebeat-2017.04.11.log」}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 將事件寫入文件的文件。 {:filename =>「C:/temp/filebeat-2017.04.11.log」}
07:52:53.870 [[main]> worker0] INFO logstash.outputs.file - 打開文件{:path =>「C :/temp/filebeat-2017.04.11.log「}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 啓動過時文件cleanup cycle {:files => {」C:\ temp /filebeat-2017.04.11.log「=>#>}}
07:52:53.870 [[main]> worker0] DEBUG logstash.outputs.file - 找到0個陳舊文件{:inactive_files => {}}


謝謝!


UPDATE:

如果我更改了密碼,我得到的logstash日誌中出現以下錯誤:

08:22:33.877 [主]> worker1] ERROR logstash.outputs.elasticsearch - 從服務器收到錯誤的響應代碼,但此代碼不被視爲可重試。請求將被丟棄{:code => 401,:response_body =>「{\」error \「:{\」root_cause \「:[{\」type \「:\」security_exception \「,\」reason \「: \「無法爲REST請求[/ _bulk] \」,\「標題\」驗證用戶[節拍]:{\「WWW-Authenticate \」:\「Basic realm = \\」security \\「charset = \\ 「UTF-8 \\」\「}}],\」type \「:\」security_exception \「,\」reason \「:\」無法爲REST請求[/ _bulk] \「認證用戶[節拍] \「header \」:{\「WWW-Authenticate \」:\「Basic realm = \\」security \\「charset = \\」UTF-8 \\「\」}},\「status \」:401 }「::request_body =>」{\「index \」:{\「_ id \」:null,\「_index \」

所以它似乎實際上是與elasticsearch進行通信,得到創建。不幸的是,我沒有在elasticsearch日誌中發表聲明。

回答

0

我自己找到答案,對於那些掙扎着類似問題的人:

我在我的elasticsearch.yml關於action.auto_create_index有一些奇怪的設置,阻止索引被創建。

將彈性搜索的日誌級別更改爲debug之後,在提到here的方式之後,這變得可見。

由於這些都不需要我刪除它們,現在一切正常。