1.系统监控
Spring Boot的系统监控是对应用程序运行状态进行管理,通过 Spring Boot Actuator 来实现, Spring Boot Actuator 组件主要通过一系列 HTTP 端点提供的系统监控功能来实现系统监控。
2.引入 Spring Boot Actuator
(1)项目中引入组件
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
(2)访问默认端点 查看本程序运行状态
引入Actuator组件后,会自动装配组件并暴露Actuator组件自带的默认端点。启动项目后,日志会显示暴露端点的访问地址:
Exposing 2 endpoint(s) beneath base path '/actuator'
访问 http://localhost:8080/actuator 端点后,我们也会得到如下所示结果。然后可以通过访问每个url,查看具体状态
(3)开启配置 访问所有端点
配置文件配置如下选项。此时访问http://localhost:8080/actuator 会显示Actuator组件支持的全部端点。
management: endpoints: web: exposure: include: "*"
根据端点所起到的作用,我们把 Spring Boot Actuator 提供的原生端点分为如下三类。
应用配置类: 主要用来获取应用程序中加载的应用配置、环境变量、自动化配置报告等配置类信息,它们与 Spring Boot 应用密切相关。
度量指标类: 主要用来获取应用程序运行过程中用于监控的度量指标,比如内存信息、线程池信息、HTTP 请求统计等。
操作控制类: 在原生端点中只提供了一个关闭应用的端点,即 /shutdown 端点。
类型 路径 描述 应用配置类 /beans 该端点用来获取应用程序中所创建的所有JavaBean信息 /env 该端点用来获取应用程序中所有可用的环境属性,包括环境变量、JVM属性、应用配置信息等 /info 该端点用来返回一些应用自定义的信息。开发人员可对其扩展 /mappings 该端点用来返回所有Controller中RequesMapping所表示的映射信息 度量指标类 /metrics 该端点用来返回当前应用程序的各类重要度量指标,如内存信息、线程信息、垃圾回收信息等 /threaddump 该端点用来暴露应用程序运行中的线程信息 /health 该端点用来获取应用的各类健康指标信息,这些指标信息由HealthIndicator的实现类提供。 /trace 该端点用来返回基本的HTTP跟踪信息 操作控制类 /shutdown 该端点用来关闭应用程序,要求将endpoints.shutdown.enabled设置为true