摘要: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