SpringBoot Actuator 服务监控与管理
Maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Boot2.x中,默认只开放了info、health两个端点,开放其他端点需要配置
# 开启所有端点
management.endpoints.web.exposure.include=*
# 显示详细的 health 信息
management.endpoint.health.show-details=always
# 打开 shutdown 端点,通过 POST 访问该端点可以关闭应用
management.endpoint.shutdown.enabled=true
再 POM 中添加此配置,info 端口才会有信息
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring- boot- maven- plugin</artifactId>
<!- - 开启 info 端口获取 maven 中的属性 - - >
<executions>
<execution>
<goals>
<goal>build- info</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
env 端点,应用获取环境信息,包括:环境变量、JVM属性、应用的配置配置、命令行中的参数
localhost:8080/actuator/env
mapping 端点,url 与 控制器映射关系信息
localhost:8080/actuator/info
{
"build": {
"version": "0.0.1- SNAPSHOT",
"artifact": "springboot- actuator",
"name": "springboot- actuator",
"group": "com.example",
"time": "2018- 12- 06T04:06:36.993Z"
}
}
metrics 端点,引用度量指标端点,提供引用再运行时的信息,如内存使用情况、HTTP请求统计、外部资源指标等
查看所有度量指标 localhost:8080/actuator/metrics
查看度量指标详细信息 localhost:8080/actuator/metrics/jvm.gc.pause
loggers 端点,查看可配置 loggers 的列表及相关的等级信息
localhost:8080/actuator/loggers
查看特定的 logger 详细信息localhost:8080/actuator/loggers/{name}
运行时改变特定日志日志等级
通过 POST
方式请求http://localhost:8080/actuator/loggers/(name),传以下参数
{
"configuredLevel": "DEBUG"
}
端点列表
info
显示应用的基本信息health
显示应用的健康状态metrics
显示应用多样的度量信息loggers
显示和修改配置的loggerslogfile
返回log file中的内容(如果logging.file或者logging.path被设置)httptrace
显示HTTP足迹,最近100个HTTP request/repsponseenv
显示当前的环境特性flyway
显示数据库迁移路径的详细信息liquidbase
显示Liquibase 数据库迁移的纤细信息shutdown
让你逐步关闭应用mappings
显示所有的@RequestMapping路径scheduledtasks
显示应用中的调度任务threaddump
执行一个线程dumpheapdump
返回一个GZip压缩的JVM堆dump