我試圖使用logstash將文檔提供給elasticsearch,然後我可以使用kibana Web界面進行查詢。我目前正在運行一個由logstash提供的單個彈性搜索節點,用於測試目的的apache訪問日誌,以便我可以學習如何在擴展到羣集中的多個elasticsearch節點之前使用logstash和elasticsearch,並通過logstash在多個主機和服務之間記錄聚合。重新啓動彈性搜索節點後找不到「(key)字段[@timestamp]」
昨晚我能夠通過使用logstash提供文檔來成功構建ES數據庫,並且能夠使用kibana查詢它。然而,今天,當我再次開始了我的ES節點,我看到下面的錯誤嘗試運行查詢時:(完整的日誌可用here)
[2014-10-10 13:11:53,437][DEBUG][action.search.type ] [Madam Slay] All shards failed for phase: [query]
我節點的健康狀況似乎要很好:
[pitserver ~/local/tmp/elasticsearch-1.3.4]% curl -XGET "http://localhost:9200/_cluster/health?pretty=true"
{
"cluster_name" : "elasticsearch",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 2520,
"active_shards" : 2520,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 2520
}
我試着重新啓動節點幾次。 data
目錄表面上包含與昨天相同的數據。
後學習更多的有關查詢如何kibana對elasticsearch,我認爲,在日誌文件中的最相關的錯誤是這個:
(key) field [@timestamp] not found
我瞭解到,這個錯誤彈出時試圖提取包含與elasticsearch中現有logstash索引不相對應的日期的柱狀圖。我找到了一個(closed) issue report on kibana's GitHub page that describes the problem I am having。解決方法是隻繪製一個直方圖,對應於我的elasticsearch數據庫中現有logstash索引的日期。
對我來說沒什麼意義的是我昨天能夠通過時間戳字段查詢。但是在重新啓動elasticsearch集羣之後,彈性搜索在當前不存在的時間戳字段中存在問題。
爲什麼在重新啓動elasticsearch後只能看到這個問題?
你能解釋一下如何做到這一點,爲什麼你認爲刪除副本碎片會有幫助?我對elasticsearch很陌生。 – jayhendren 2014-10-13 17:47:41
捲曲-XPUT的 'localhost:9200/my_index/_settings' -D ' { 「指數」:{ 「number_of_replicas」:0 }} ' – 2014-10-13 22:51:58
我假設將禁用所有副本碎片?爲什麼你認爲運行這將有助於我的問題?看起來問題更多的是從kibana運行的查詢,而不是我的elasticsearch數據庫中的碎片。 – jayhendren 2014-10-14 16:47:08