Spring cloud 春云涡轮空流

Spring cloud 春云涡轮空流,spring-cloud,turbine,hystrix,Spring Cloud,Turbine,Hystrix,我有一个SpringCloud应用程序,充当turbine服务器和Hystrix仪表板。它有一个Eureka客户端,仪表板显示正常,可以看到一个单独的Hystrix流,但我在涡轮机流中没有得到任何东西 这是应用程序。yml: eureka: client: serviceUrl: defaultZone: ${vcap.services.eureka-service.credentials.uri:http://10.12.2.99:8761}/eureka/ turb

我有一个SpringCloud应用程序,充当turbine服务器和Hystrix仪表板。它有一个Eureka客户端,仪表板显示正常,可以看到一个单独的Hystrix流,但我在涡轮机流中没有得到任何东西

这是应用程序。yml:

eureka:
  client:
    serviceUrl:
      defaultZone: ${vcap.services.eureka-service.credentials.uri:http://10.12.2.99:8761}/eureka/

turbine:
  aggregator:
    clusterConfig: ITEMS-SERVICE
  appConfig: items-service
如果我在Turbine/dashboard应用程序启动时查看日志,它似乎发现我的Hystrix服务正常:

2015-03-10 14:45:35.256  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Fetching instance list for apps: [items-service]
2015-03-10 14:45:35.257  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Fetching instances for app: items-service
2015-03-10 14:45:35.257  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Received instance list for app: items-service, size=2
2015-03-10 14:45:35.264  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Retrieved hosts from InstanceDiscovery: 2
2015-03-10 14:45:35.265  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Found hosts that have been previously terminated: 0
2015-03-10 14:45:35.265  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Hosts up:2, hosts down: 0
2015-03-10 14:45:35.270  INFO 1383 --- [        Timer-0] c.n.t.monitor.instance.InstanceMonitor   : Url for host: http://nf-app1:8080/hystrix.stream ITEMS-SERVICE
2015-03-10 14:45:35.270  INFO 1383 --- [        Timer-0] c.n.t.handler.TurbineDataDispatcher      : 
Just added and starting handler tuple: ITEMS-SERVICE_agg_aggClusterEventHandler
2015-03-10 14:45:35.271  INFO 1383 --- [        Timer-0] c.n.turbine.data.AggDataFromCluster      : Per handler dispacher started for: ITEMS-SERVICE_agg_aggClusterEventHandler
2015-03-10 14:45:35.273  INFO 1383 --- [        Timer-0] c.n.t.monitor.instance.InstanceMonitor   : Url for host: http://nf-app2:8080/hystrix.stream ITEMS-SERVICE
如果我撞上涡轮气流

http://localhost:8080/turbine.stream?cluster=ITEMS-SERVICE
我得到:

: ping
data: {"timestamp":1426018670641,"name":"meta","reportingHostsLast10Seconds":0,"type":"meta"}

: ping
data:     {"timestamp":1426018673643,"name":"meta","reportingHostsLast10Seconds":0,"type":"meta"}

: ping
data: {"timestamp":1426018676645,"name":"meta","reportingHostsLast10Seconds":0,"type":"meta"}
当我查看涡轮机/仪表板日志时,我没有看到任何错误:

2015-03-10 14:48:33.804  INFO 1383 --- [nio-8080-exec-1] c.n.t.s.servlet.TurbineStreamServlet     : FilterCriteria: []
2015-03-10 14:48:33.804  INFO 1383 --- [nio-8080-exec-1] c.n.t.s.servlet.TurbineStreamServlet     : StatsType filters: []
2015-03-10 14:48:33.808  INFO 1383 --- [nio-8080-exec-1] c.n.t.s.TurbineStreamingConnection       : Relevance config: []
2015-03-10 14:48:33.808  INFO 1383 --- [nio-8080-exec-1] c.n.t.s.TurbineStreamingConnection       : Relevance metrics config: {}
2015-03-10 14:48:33.809  INFO 1383 --- [nio-8080-exec-1] c.n.t.monitor.cluster.ClusterMonitor     : Registering event handler for cluster monitor: StreamingHandler_f1b7fc33-d0ed-4206-9976-fd4b2347bdd5
2015-03-10 14:48:33.809  INFO 1383 --- [nio-8080-exec-1] c.n.t.handler.TurbineDataDispatcher      : 

Just added and starting handler tuple: StreamingHandler_f1b7fc33-d0ed-4206-9976-fd4b2347bdd5
2015-03-10 14:48:33.809  INFO 1383 --- [nio-8080-exec-1] c.n.turbine.data.AggDataFromCluster      : Per handler dispacher started for: StreamingHandler_f1b7fc33-d0ed-4206-9976-fd4b2347bdd5
2015-03-10 14:48:33.809  INFO 1383 --- [nio-8080-exec-1] c.n.t.monitor.cluster.ClusterMonitor     : All event handlers for cluster monitor: [StaticListener_For_Aggregator, StreamingHandler_f1b7fc33-d0ed-4206-9976-fd4b2347bdd5]
2015-03-10 14:48:33.809  INFO 1383 --- [nio-8080-exec-1] c.n.t.monitor.cluster.ClusterMonitor     : Starting up the cluster monitor for ITEMS-SERVICE_agg
2015-03-10 14:48:35.265  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Fetching instance list for apps: [items-service]
2015-03-10 14:48:35.266  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Fetching instances for app: items-service
2015-03-10 14:48:35.266  INFO 1383 --- [        Timer-0] o.s.c.n.turbine.EurekaInstanceDiscovery  : Received instance list for app: items-service, size=2
2015-03-10 14:48:35.266  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Retrieved hosts from InstanceDiscovery: 2
2015-03-10 14:48:35.266  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Found hosts that have been previously terminated: 0
2015-03-10 14:48:35.267  INFO 1383 --- [        Timer-0] c.n.t.discovery.InstanceObservable       : Hosts up:2, hosts down: 0
如果我直接或通过仪表板(例如)点击其中一个项目流,我将获得有效的Hystrix数据


看起来Turbine应用程序正在通过Eureka查找这两项服务,并且它们的Hystrix流端点有效且正常工作,因此我无法找出Turbine流为空的原因

问题在于运行涡轮机的机器没有与运行Histrix服务的机器进行时间同步。在另一个涡轮机上,问题表示默认情况下涡轮机将忽略“旧”事件。我尝试在application.yml中禁用turbine.InstanceMonitor.eventStream.skipLineLogic,一切都开始工作。

您看到的数据不是“无效”的。看起来这些电路从未在turbine指向的应用程序实例中使用过。也许你需要调整一下,让他们发送一些数据?或者你的实验指向了不同的物理实例?谢谢你的回答。nf-app1和nf-app2是单个物理实例,我已经对它们进行了足够的操作,以使它们各自的hystrix.stream端点返回完整数据,并将其分别成功显示在hystrix仪表板上。我可以在尝试涡轮机端点之前和之后从nf1&2 hystrix.streams获取完整数据,该端点始终返回与前面显示的相同类型的响应。可能群集名称中的“-”(连字符)有问题(URL编码?)?它对我有效,但我没有使用任何非alpha字符。我尝试将clusterConfig更改为
ITEMSERVICE
,结果相同。我对Spring cloud文档有点困惑,因为它说:“从eureka返回的值是大写的,因此,如果有一个在eureka注册的名为“customers”的应用程序,我们希望这个示例能够起作用“:turbine:aggregator:clusterConfig:CUSTOMERS appConfig:CUSTOMERS-看起来文档似乎在说集群名称应该与Eureka名称匹配,但这只是一个建议的约定吗?读到这一点时,我也感到困惑。我用来测试的样本是这个:。它适用于我(集群名称与服务名称相同),因此您可以验证它是否适用于您吗?