Spring Cloud实战(四):微服务质量监控-Hystrix仪表盘
来源:互联网 发布:淘宝修改密码在哪里 编辑:程序博客网 时间:2024/06/05 10:18
断流器Hystrix不仅提供了微服务的错误与延迟处理机制,还提供了仪表盘用于监控各个微服务程序的健康状态,启用步骤如下。
1. 添加健康监控
对于每个Eureka客户端(微服务应用程序),默认采用心跳机制确认健康状态,通过启用actuator,可以激活基于事件触发的WebSocket机制,只需要添加相关的依赖即可,如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>
此时访问该客户端的“/health”与“/hystrix.stream”,如果成功,则说明配置正常,否则请仔细检查配置文件,最常见的错误是忽略或错误设置了“management.context-path”属性,正确的配置方式如下:
management: # 如果改为/admin,那么此时的访问路径为/admin/health与/admin/hystrix.stream context-path: /eureka: client: healthcheck: # 一定要启用健康检查 enabled: true
另外需要说明的一点是,“hystrix.stream”只会监控断流情况,也就是说,只有服务接口出现了错误或者超时,才会计入健康监控。
至于微服务主程序,注解基本无需修改,如下:
// 作为Eureka客户端@EnableEurekaClient// 启用断流器@EnableCircuitBreaker@SpringBootApplicationpublic class MiranaAssetApplication { // PASS}
在我的实例中,上述操作都在mirana-asset项目中进行。
2. 添加仪表盘依赖
Spring Boot最优秀的地方就在于其简洁而简单的包管理,Hystrix仪表盘也不例外,仅仅只需要在仪表盘监控程序中添加如下依赖,记住只需要选定一个应用程序,而在本例中,我觉得把监控程序与微服务代理服务器放在一起更易于统一管理,而且完全脱离了业务的相关性,所以在mirana-zuul中启用Hystrix仪表盘功能。
<!-- 仪表盘服务程序 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId></dependency><!-- 程序质量监控服务,也可忽略,但是 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>
3. 激活仪表盘管理程序
激活仪表盘管理程序非常简单,只需要添加“@EnableHystrixDashboard”注解即可(在mirana-zuul项目中),如下:
// 激活仪表盘WEB程序@EnableHystrixDashboard@SpringBootApplication@EnableZuulProxypublic class ZuulServerApplication { // PASS}
现在依次启动mirana-eureka(微服务管理服务器)、mirana-zuul(微服务集成服务器)、mirana-asset(资产微服务),然后访问mirana-zuul的管理地址http://localhost:8000/hystrix,即可注册要监控服务的监控地址,如http://localhost:8081/hystrix.stream,最后可得到端流器的接口实时健康状态,如下图:
同时,因为我们对ZUUL组件也启用了监控服务,所以我们也可以每个应用的服务健康状态,如下图:
总结
Hystrix仪表盘只能监控到错误接口的健康状态,正常的访问接口则会被忽略。
最后,本文的配置方法,一个仪表盘只能监控一个微服务,如果要监控整个集群状态,则需要采用Turbine组件。
- Spring Cloud实战(四):微服务质量监控-Hystrix仪表盘
- Spring Cloud构建微服务架构:Hystrix监控面板
- Spring Cloud构建微服务架构:Hystrix监控数据聚合
- Spring Cloud构建微服务架构Hystrix监控面板
- Spring Cloud构建微服务架构Hystrix监控面板
- Spring Cloud入门教程(四):微服务容错保护(Hystrix)
- Spring Cloud中Hystrix仪表盘与Turbine集群监控
- Spring Cloud构建微服务架构:Hystrix监控面板【Dalston版】
- Spring Cloud构建微服务架构:Hystrix监控数据聚合【Dalston版】
- Spring Cloud实战(三):微服务错误处理与延迟处理-Hystrix
- Spring Cloud构建微服务架构(四)断路器(Hystrix)
- 微服务框架Spring Cloud: 在微服务系统中使用Hystrix, Hystrix Dashboard与Turbine
- 《spring cloud微服务实战》读书笔记——Spring Cloud Hystrix(四)使用详解(一)
- 《spring cloud微服务实战》读书笔记——Spring Cloud Hystrix(四)使用详解(二)
- 《spring cloud微服务实战》读书笔记——Spring Cloud Hystrix(四)使用详解(三)
- Spring Cloud微服务(5)之Hystrix断路器
- Spring Cloud构建微服务架构Hystrix依赖隔离
- Spring Cloud构建微服务架构—Hystrix断路器
- [LeetCode 204] Count Primes(Python)
- day15-session&jsp&验证码
- 自适应提升算法(AdaBoost)介绍(二)
- 总结:如何使用redis缓存加索引处理数据库百万级并发
- 活动和碎片的一些区别以及活动的启动模式
- Spring Cloud实战(四):微服务质量监控-Hystrix仪表盘
- HDU 6212 Zuma ACM/ICPC 2017 Qingdao Online(区间dp)
- Mac连接京瓷打印机Fs-1030MFP/DP
- java跳出多次循环
- Vue v-if v-show
- android 自定义ImageView显示圆形图片
- 关于map
- 记一次看大神们讨论的结果
- Django应用的设置对象django.conf.settings详解