黑马程序员技术交流社区

标题: 【石家庄校区】Spring Cloud-03-监控:强大的Spring Boot Actuator [打印本页]

作者: liupeng_hm    时间: 2019-8-26 16:43
标题: 【石家庄校区】Spring Cloud-03-监控:强大的Spring Boot Actuator
本帖最后由 liupeng_hm 于 2019-8-26 16:44 编辑

应用没有监控,没有画板,一切指标都没有。在这个Growth Hack逐渐成为主流的时代,不弄个Dashboard把系统压力、QPS、CPU、内存、日活啥的可视化,你好意思出来混吗……
本节我们来解决该问题。
Spring Boot Actuator是Spring Boot官方提供的监控组件。只需为项目添加以下依赖,即可就整合Spring Boot Actuator。
监控端点
Actuator为我们提供了很多监控端点,如下表所示。
[td]
端点(Spring Boot 2.x)
描述
HTTP方法
是否敏感
端点(Spring Boot 1.x)
conditions显示自动配置的信息GETautoconfig
beans显示应用程序上下文所有的Spring beanGETbeans
configprops显示所有@ConfigurationProperties
的配置属性列表
GETconfigprops
dump显示线程活动的快照GETdump
env显示环境变量,包括系统环境变量
以及应用环境变量
GETenv
health显示应用程序的健康指标,值由
HealthIndicator的实现类提供;结果有UP、 DOWN、OUTOFSERVICE、UNKNOWN
,如需查看看详情,需配置:
management.endpoint.health.show-details
GEThealth
info显示应用的信息,可使用 info.*属性自定义info端点公开的数据GETinfo
mappings显示所有的URL路径GETmappings
metrics显示应用的度量标准信息GETmetrics
表-Spring Boot Actuator常用端点及描述
只需访问 http://{ip}:{port}/actuator/{endpoint} 端点,即可监控应用的运行状况。
测试1:/health端点
为前文编写的 microservice-simple-provider-user 服务整合Actuator后,我们来做一些测试:
访问http://localhost:8000/actuator/health ,即可获得如下结果:
测试2:/health端点展示详情
为 /health 端点配置显示详情:
再次访问http://localhost:8000/actuator/health ,即可获得如下结果:
从中可以看到, /health 端点展示了DB的健康情况以及磁盘的健康情况。
测试3:暴露敏感路径
默认情况下,敏感路径并不暴露。如需暴露(以metrics为例),需添加配置:
访问:http://localhost:8000/actuator/metrics ,可获得类似如下的结果:
访问http://localhost:8000/actuator/metrics/{name} , {name} 列表如上,即可查看当前应用的度量指标。例如访问:http://localhost:8000/actuator/metrics/jvm.memory.max 即可查看JVM可管理的最大内存,结果类似如下:
TIPS
1 如需暴露所有监控端点可配置:
2 有关Spring Boot 1.x与2.x端点的差异,详见:https://github.com/spring-projec ... ion-Guide#endpoints
拓展阅读
如果能对Actuator端点的文字数据进行图形化的展示,我们就可以实现比较低层次的“Growth Hack”啦!开源界已经有这样的工具—— SpringBootAdmin ,界面如下。有兴趣的可前往https://github.com/codecentric/spring-boot-admin了解。

说明配套代码
GitHub:
Gitee:






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2