摘要:SpringBoot内有一个spring-boot-starter-actuator模块,这个模块是对服务自身进行状态监控和信息采集的;使用起来非常简单,但对开发者来讲作用是很大的,很多信息不用再自己写代码来获取;但是对于大型团队有特殊监控和采集需求的,还是要靠自己进行二次完善的。
具体使用方式如下:
1.pom.xml
引入actuator依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.application.properties
配置Actuator监控的一些参数
#部分信息需要安全验证才可以查看,设置为false,意味着不需要安全验证
management.security.enabled=false
#启用单独的url来做监控访问入口
management.context-path=/monitor
#可启用接口关闭SpringBoot
endpoints.shutdown.enabled=true
3.监控接口
Actuator的监控端点有两类:
3.1 原生端点
这类端点主要监控和获取程序的运行环境信息以及各种度量指标;这类端点可以分为三类:
应用配置类:
度量指标类:
操作控制类:
3.2自定义端点
用户可以根据自己的实际需求,进行自定义的拓展,来监控和获取自己需要的信息和指标。
Actuator提供了13个常用接口:
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头等) |
4.启动项目,进行监控
我们项目是跑在本地的,前面我们在application.properties中设置了监控的访问入口:management.context-path=/monitor,所以,现在我们获取各项监控指标的路径为:http://localhost:8088/monitor/xxxx