SpringBoot的监控与管理
在微服务架构中,我们将原本庞大的单体系统拆分成多个提供不同服务的应用。虽然内部逻辑因分解而得以简化,但是系统的维护复杂度大大提升。很明显,传统的运维方式不能再使用,我们需要一套自动化的监控运维机制。这套机制就必须要不间断地收集各个微服务应用的各项指标情况已作为基础,并作出监控和预警规则。
我们首先来了解一下SpringBoot官方自带的一个特殊依赖模块spring-boot-starter-actuator,引入依赖过后就会出现多个端点来监控项目的实际运行情况。
actuator的maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
针对springboot 2.0以上的版本,启动项目之后只会默认出现/actuator/health,/actuator/info,/actuator这3个接口,看了一下好像也不能看出什么来,就说明肯定是有隐藏的待我们去挖掘。
这就需要我们在配置文件中去配置了
#actuator 配置
management:
endpoints:
web:
base-path: / #将/actuator/info调整为/info接口
exposure:
include: "*" #默认只包括/health和/info 2个接口,设置为所有可见 这里注意yml格式 * 要加上""
2.0以上版本的区别就是配置文件需要再加一个management(为什么2.0之后要多加一个management,而不是直接endpoints.XX.XX?)
之后再启动项目就可以愉快的看见所有的监控端点啦
放两张对比图
然后就可以用开始测试这些端点的详细数据啦~。~
详细的数据可以看看参考书籍,今天是第一次写博客,希望能坚持着把SpringCloud相关的知识点都搞明白。
参考书籍:
《SpringCloud微服务实战》 翟永超