Actuator 监控器
Actuator 是 Spring Boot 提供的一个可插拔模块,用于对工程进行监控。其通过不同的监控终端实现不同的监控功能。Spring Boot 的 Actuator 可以部署在每个工程中,实现对每个工程的监控。
1. 基本环境搭建
随便一个 Spring Boot 工程中都可以使用 Actuator 对其进行监控。
(1) 导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
(2) 修改配置文件
(3) 访问测试—health 监控终端
启动该工程后在地址栏访问,health 是一种监控终端,用于查看当前应用程序(微服务)的健康状况。
2. 添加 Info 信息
(1) 修改配置文件
在配置文件中添加如下 Info 信息,则可以通过 info 监控终端查看到。
(2) 访问测试
这些信息都是以 JSON 的格式显示在浏览器的。
3. 开放其它监控终端
默认情况下,Actuator 仅开放了 health 与 info 两个监控终端,但其还有很多终端可用,不过,需要手工开放。
(1) 修改配置文件
在配置文件中添加如下内容。
(2) 访问测试
-
A、mappings 终端
通过 mappings 终端,可以看到当前工程中所有的 URI 与处理器的映射关系,及详细的处理器方法及其映射规则。很实用。
-
B、 beans 终端
可以查看到当前应用中所有的对象信息。
-
C、 env 终端
可以看到当前应用程序运行主机的所有软硬件环境信息。
4. 单独关闭某些监控终端
在开放了所有监控终端的情况下,有些终端显示的信息并不想公开,此时可以单独关闭这些终端。
(1) 修改配置文件
在配置文件中添加如下内容。
(2) 访问测试
在关闭这些终端后,其它终端仍可继续使用。
5. 常用的监控终端
在百度搜索“springboot actuator”即可找到如下表格。
HTTP方法 | 监控终端 | 功能描述 |
---|---|---|
GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入 Bean |
GET | /beans | 描述应用程序上下文里全部的 Bean,以及它们的关系 |
GET | /dump | 获取线程活动的快照 |
GET | /env | 获取全部环境属性 |
GET | /env/{name} | 根据名称获取特定的环境属性值 |
GET | /health | 报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供 |
GET | /info | 获取应用程序的定制信息,这些信息由 info 打头的属性提供 |
GET | /mappings | 描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系 |
GET | /metrics | 报告各种应用程序度量信息,比如内存用量和 HTTP 请求计数 |
GET | /metrics/{name} | 报告指定名称的应用程序度量值 |
POST | /shutdown | 关闭应用程序,要求 endpoints.shutdown.enabled 设置为 true |
GET | /trace | 提供基本的 HTTP 请求跟踪信息(时间戳、HTTP 头等) |