度量指标监控与异步调用
Spring Boot Actuator
是spring boot
项目一个监控模块,提供了很多原生的端点,包含了对应用系统的自省和监控的集成功能,比如应用程序上下文里全部的Bean、运行状况检查、健康指标、环境变量及各类重要度量指标等等,以图形化界面的方式展示这些信息,通过这些监控信息,我们就能随时了解应用的运行情况了。
作用:可以通过监控运行状态检查获取应用的运行状态,潜在问题等。可以更具这些且在风险对项目进行优化,排除问题保证项目的运行。可以通过监控度量指标获取应用内存占用,线程数量,垃圾回收过程对项目进行深入分析。
一.Spring Boot Actuator的度量指标监控入门
1,准备工作
在项目中引入Actuator依赖,该以来由SprngBoot官方提供。
1 <dependency>
2 <groupId>org.springframework.boot</groupId>
3 <artifactId>spring-boot-starter-actuator</artifactId>
4 </dependency>
当项目中引入了Actuator依赖后,那么当前的项目就表示拥有了度量指标监控能力了,启动SpringBoot项目,控制台如下:
![](https://img-blog.csdnimg.cn/img_convert/d6ffc39e4789ffabb400a43729569fc6.png)
框起来的那段内容表示:SpringBoot监控已经默认暴露了两个基础端点,可供我们访问获取应用监控数据,基础访问路径是"/actuator"
2,访问基础端点测试
输入访问路径:localhost:8080/actuator 结果如下:(为便于查看,我已将JSON结果格式化)
1 {
2 "_links": {
3 "self": {
4 "href": "http://localhost:8080/actuator", // 基础访问地址
5 "templated": false
6 },
7 "health-path": {
8 "href": "http://localhost:8080/actuator/health/{*path}",
9 "templated": true
10 },
11 "health": {
12 "href": "http://localhost:8080/actuator/health", // 暴露的端点一 (访问URL)
13 "templated": false
14 },
15 "info": {
16 "href": "http://localhost:8080/actuator/info", // 暴露的端点二 (访问URL)
17 "templated": false
18 }
19 }
20 }
那么这些暴露的URL访问后分别代表什么呢?Actuator提供了13个接口,可以分为三大类:配置接口、度量接口和其它接口,具体如下表:
HTTP 方法 | 路径 | 描述 |
---|---|---|
GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入Bean ●prefix属性代表 了属性的配置前缀 |
GET | /beans | 描述应用程序上下文里全部的Bean,以及它们的关系 ●bean:Bean的名称 |
GET | /dump | 获取线程活动的快照 |
GET | /env | 获取全部环境属性。包括:环境变量、JVM属性.应用的配置配置。命令行中的参数等 |
GET | /env/{name} | 根据名称获取特定的环境属性值。/env接口还能用来获取单个属性的值 |