2015-02-05 26 views
12

我在彈性搜索沉浸的2小時內。我用Marvel成功安裝了ES(marvel.agent.enabled: false在config/elasticsearch.yml中),並能夠從Sense成功請求。我重新啓動我的機器,現在當我就感覺下面的請求時,它回答:ES可從捲曲到達,但不能從Marvel/Sense

Request failed to get to the server (status code: 0): 

Elasticsearch may not be reachable or you may need to check your CORS settings.If CORS is enabled, try turning off Sense's Basic Authentication support under Setting (cog icon).This will result in a less strict CORS enforcement by the browser. 
Please check the marvel documentation for more information. 

請求(source):

PUT /megacorp/employee/1 
{ 
"first_name" : "John", 
"last_name" : "Smith", 
"age" :  25, 
"about" :  "I love to go rock climbing", 
"interests": [ "sports", "music" ] 
} 

的指示,我檢查是否ES是通過使到達上的捲曲類似的請求:

請求:

curl -XPUT http://localhost:9200/megacorp/employee/100 -d '{ "first_name" : "test" }' 

再我可以在這個網站上找到我的網站,但我不知道這個網站是否可用。

轉到下一個檢查「您可能需要檢查您的CORS設置。」。我基於this recommendation增加了以下配置elasticsearch.yml(並重新啓動ES):

http.cors.enabled: true 
http.cors.allow-origin: /.*/ 
http.cors.allow-credentials: true 

但在行爲上沒有任何變化。

在奇蹟/智能設置中切換「支持基本身份驗證」也沒有影響。

歡迎任何可能出錯的指針。

+0

@jimstat在ES羣集日誌定位(在一個節點)的線看起來像'[INFO] [HTTP] [c7_64] bound_address {INET [/0:0:0:0:0:0:0:0:9201]},publish_address {inet [/ 192.168.88.128:9201]}'。您對'publish_address'後面的內容感興趣。在訪問Sense時使用IP:PORT,您可以在那裏看到。在我的例子中:'http://192.168.88.128:9201/_plugin/marvel/sense/index.html'。 – 2015-10-12 06:48:38

+0

沒有答案有幫助,或者您沒有將答案標記爲已接受?會幫助我知道你的訣竅:) – Frans 2017-02-23 11:31:17

回答

7

嘗試在其他瀏覽器或私人/無痕模式下運行奇蹟/感知html頁面。我有同樣的問題,並且這樣做解決了它。我認爲這是由於存儲在cookie上的設置或其他不確定的內容。

+0

這個評論和@Saichan的評論(啓用CORS)的結合爲我做了訣竅。 – mlg 2015-05-05 22:22:12

5

我也有這個相同的問題,根據Elasticsearch的文檔在這裏:http://www.elastic.co/guide/en/marvel/current/configuration.html#cors,你必須啓用CORS。

總之,打開在config /文件夾中的文件elasticsearch.yml並把這個

http.cors.enabled: true 
http.cors.allow-origin: /.*/ 
http.cors.allow-credentials: true 

的地方在那裏,可能是「網絡和HTTP」部分。

然後,在我重新啓動elasticsearch之後,它在Marvel Sense中爲我工作得很好。

0

我也有同樣的問題。 確保服務器字段不爲空。 在本地填寫字段後,我的問題得到解決

1

在你ES羣集日誌(在一個節點)定位線看起來像

[INFO ][http ] [c7_64] bound_address {inet[/0:0:0:0:0:0:0:0:9201]}, publish_address {inet[/192.168.88.128:9201]} 

你有興趣publish_address後什麼。在訪問Sense時使用IP:PORT,您可以在那裏看到。在我的例子中,檢測URL應該是這樣的:

http://192.168.88.128:9201/_plugin/marvel/sense/index.html 

的CORS部分主要是適用於對安裝在單獨的集羣驚奇的場景,當安裝在同一個奇蹟,應該不需要羣集作爲受監視的節點。當Shield安裝在集羣中時,它也是needed

0

我遇到了與Chrome相同的問題。清除瀏覽器數據解決了我的問題。這是歷史 - >清除瀏覽器數據 - >檢查cookie和其他網站和插件數據,緩存的圖像和文件,自動填寫表單數據,託管應用程序數據。

不知道哪一個人做了這個伎倆,但這就是我的做法和工作原理。希望這可以幫助。

0

與Marvel沒有嚴格關係,但是當我從「外部」服務器連接到elasticsearch時出現問題。

更改elasticsearch.yml config,其中主機聽 - listen to all network interfaces

network.host: 0.0.0.0 

之後,根據您的服務器,你應該打開TCP端口上的防火牆(如果您使用的默認端口elasticsearch:9200)。例如在CentOS(或RHEL),你應該運行:

sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent 
sudo firewall-cmd --reload