codecentric / spring-boot-admin

Admin UI for administration of spring boot applications
Apache License 2.0
12.38k stars 3.08k forks source link

Revised Turbine support as separate ui module #306

Closed fdirlikli closed 8 years ago

fdirlikli commented 8 years ago

turbine.stream is not working for streams requiring a cluster parameter. streamUrl in module.js seems to be a static url which looks like below

module.controller('turbineCtrl', require('./controllers/hystrixCtrl.js')('turbine.stream'));

This doesn't work for turbine streams which require a URL that looks like turbine.stream?cluster=WORKORDER-SERVICE

joshiste commented 8 years ago

Hmm... I've just tested for the "default" cluster. I guess we need to add a input field for specifying the cluster.

fdirlikli commented 8 years ago

How about using turbine.aggregator.clusterConfig property on turbine server?

joshiste commented 8 years ago

Yeah could work. But nonetheless a select box is needed for multiple clusters...

fdirlikli commented 8 years ago

Yes. That is what I had in mind.. Collecting the cluster list from the clusterConfig property and providing a combobox to let user select the cluster it is interested in.

joshiste commented 8 years ago

Hmm just figured out that the turbine.stream is no a regular actuator endpoint - so it doesn't run on the management port. This way it's not available via the SBA's zuul proxy... I tend to remove the turbine support...

cforce commented 8 years ago

https://github.com/spring-cloud/spring-cloud-netflix/issues/1426

joshiste commented 8 years ago

Ok I'll have a look bypassing zuul until this is solved.

cforce commented 8 years ago

From current snapshot doc :By default, Turbine looks for the /hystrix.stream endpoint on a registered instance by looking up its homePageUrl entry in Eureka, then appending /hystrix.stream to it. This means that if spring-boot-actuator is running on its own port (which is the default), the call to /hystrix.stream will fail. To make turbine find the Hystrix stream at the correct port, you need to add management.port to the instances' metadata:

http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html @Turbine

joshiste commented 8 years ago

The longer I think about it, the current solution in SBA for turbine seems absolutely wrong. Spencer Gibb is right when he says turbine is a application and isn't an single management endpoint. Additional it gives oversight over many services and therefore shouldn't be a detail view to one instance. So I'll remove the turbine support as it is today. And have a look how hard it's to add a top level view for it.

joshiste commented 8 years ago

You can try the 1.4.4-SNAPSHOT with the Turbine module from https://oss.sonatype.org/content/repositories/snapshots/

Please read http://codecentric.github.io/spring-boot-admin/1.4.4-SNAPSHOT/#_turbine_ui_module on how to setup the module.

fdirlikli commented 8 years ago

Looks like a great addition.. I will have a look soon!