2017-08-28 34 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