2017-08-28 37 views
0

我有Zuul和Eureka運行,有一些較小的服務。使用Eureka,我可以看到所有的服務及其相關的主機/ IP地址。通常情況下,我可以啓動另一個服務的多個實例,Eureka會將它們接到Zuul路由到的地方。我目前遇到了一個問題,我在Eureka註冊了三個服務實例,但Zuul只通過其中一個實例。我不知道要從Zuul那裏獲取診斷信息,以瞭解爲什麼它不會路由到其他兩個實例。我嘗試過簡單的事情,比如手動將請求從Zuul框發送到服務箱,以確保它們可以通信。如何從Zuul獲得IP地址的特定診斷信息?

Zuul是否公開端點以列出主機/ IP地址及其狀態?我有哪些診斷選項?

回答

0

你可以試着列出您所有的端點與the routes endpoint

所以,如果你在8080端口上的本地主機上運行zuul你可以做一個GET調用http://localhost:8080/routes,你會得到類似

{ 
    /stores/**: "http://localhost:8081" 
} 

根據您正在使用的版本,你還需要設置

management.security.enabled = false 

application.properties

編輯:

您還可以使用日誌機制。
設置日誌級別只是LoadBalancerContext的調試在application.properties

#logging 
logging.level.com.netflix.loadbalancer.LoadBalancerContext=DEBUG 

它會記錄路由每個呼叫。

+0

當我調用'/ routes'時,我只是得到'「/ stores/**」:「stores-service」'這樣的條目。我認爲這是因爲我使用'serviceId'屬性配置了Zuul,而不是'url'屬性。由於Zuul跟蹤其他信息,比如每條路線的故障次數,我假設還有其他網絡電話,如'/ routes',但我還沒有真正找到任何東西。 – RustyTheBoyRobot