没有 Eureka 的涡轮仪表板指标
Posted
技术标签:
【中文标题】没有 Eureka 的涡轮仪表板指标【英文标题】:Turbine Dashboard Metrics without Eureka 【发布时间】:2019-01-31 14:49:06 【问题描述】:我正在开发两个 Spring-boot 应用程序。我正在使用spring-cloud-starter-hystrix
进行断路和使用@EnableCircuitBreaker
的回退方法。
现在我还想要一个hystrix dashboard with metrics
,可以通过Turbine Server
使用@EnableTurbine @EnableHystrixDashboard
来实现。
AFAIK Turbine 服务从 Eureka
实例获取应用程序 URL。在 Turbine 服务器 app.properties 中,我们应该给其他应用程序命名。这样 Turbine 将在应用程序 url:port 上与 Eureka 进行检查。
就我而言,我没有使用 Eureka。那么如何使用涡轮服务手动硬编码我的应用程序 URL 以获取指标流并显示指标仪表板?
所以基本上在 Turbine Server 中,我可以禁用与 Eureka 的连接和硬编码 URL 以获取指标吗?
我已经浏览了几个小时,但找不到解决方案。任何帮助表示赞赏。
【问题讨论】:
这可能不适合您的需求,但是:您可以配置您的服务和涡轮服务器以读取/写入 kafka 主题,而不是使用 http 进行通信。我相信主题名称是 springCloudHystrixStream。这消除了对像 eureka 这样的发现服务的需求,因为所有参与的组件都知道主题名称。这篇文章有相关信息。 【参考方案1】:-
从HERE 下载并运行turbine-web war 文件并将其部署在任何服务器上,比如带有JVM 运行时参数的tomcat,指定你的turbine 配置文件的位置。像 -
-Darchaius.configurationSource.additionalUrls=file:///etc/files/turbine-archaius.properties"
-
在该文件中添加服务器 IP、hystrix 流 servlet 的 URI 等配置。向HERE 寻求更多帮助。
这是我的示例配置文件,以便更好地理解-
turbine.aggregator.clusterConfig=
turbine.instanceUrlSuffix.
=/hystrix.stream #我正在使用一个单独的文件来列出涡轮机需要从中聚合数据的所有服务器 IP turbine.FileBasedInstanceDiscovery.filePath=/etc/files/turbine-server-list
InstanceDiscovery.impl=com.netflix.turbine.discovery.FileBasedInstanceDiscovery
turbine.InstanceMonitor.eventStream.skipLineLogic.enabled=false
另一个文件turbo-server-list 包含用于聚合指标的服务器IP。像 -
APPLICATION-IP1:PORT,
,up APPLICATION-IP2:PORT,
,up
-
在http://TURBINE-SERVER-IP:PORT/turbine/turbine.stream?cluster=cluster-name 上查找汇总的涡轮机指标
【讨论】:
嘿,我无法让它工作。 Turbine 总是使用 Eureka,它忽略了 InstanceDiscovery.impl。这是我构建自己的 spring-boot 应用程序的时候 @devo Spring boot 做的事情有点不同。我还没有将它与弹簧靴完全集成。这适用于 Spring MVC 项目。你在使用 spring-cloud-starter-turbine maven 依赖吗? 您好,感谢您回来。您是对的,spring-boot 方式与您上面记录的方式非常不同。我能够弄清楚。在这里提问和回答:***.com/questions/56136876/…以上是关于没有 Eureka 的涡轮仪表板指标的主要内容,如果未能解决你的问题,请参考以下文章
在 CloudWatch 仪表板中查看 CloudFront 指标