一、监控管理

​ 通过引入 spring-boot-starter-actuator,可以使用 Spring Boot 为我们提供的准生产环境下的应用监控和管理功能。我们可以通过 HTTP, JMX, SSH 协议来进行操作,自动得到审计、健康及指标信息等 。

步骤

  • 引入 spring-boot-starter-actuctor
1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  • 通过 http 方式访问监控点端点

    首先在配置文件中把端点暴露出来

在 application.properties 中配置端点,

暴露部分端点

management.endpoints.web.exposure.include=info,health,beans,env

暴露所有端点

management.endpoints.web.exposure.include=*

不暴露 beans 端点

management.endpoints.web.exposure.exclude=beans

在上述配置中,首先使用 management.endpoints.web.exposure.include 暴露所有的端点,接着使用 management.endpoints .web.exposure.exclud 排除 en 端点,这样就能够暴露除 env 外的所有 ctuator 端点了。

http://localhost:8080/actuator/health 访问项目监控需要加前缀 /actuator

image-20201006202615962

​ 如果不在配置文件中配置把端口暴露出来,则会出现以下这样的情况。

image-20201006202840846

​ 因为 actuator 默认只支持端点 /health、/info 所以访问 /env 会出现 404 页面。

监控点和管理端点

端点名描述
autoconfig所有自动配置信息
auditevents审计事件
beans所有 Bean 的信息
configprops所有配置属性
dump线程状态信息
env当前环境信息
health应用健康状况
info当前应用信息
metrics应用的各项指标
mappings应用@RequestMapping 映射路径
shutdown关闭当前应用(默认关闭)
trace追踪信息(最新的 http 请求)

示例:访问必须添加前缀/actuator

image-20201006203101731

  • 可进行 shutdown (POST 提交, 此端点默认关闭)

    在配置文件中配置

1
2
#启用shutdown
management.endpoint.shutdown.enabled=true

image-20201006210404783

二、定制端点

# Actuator 管理端口
management.server.port=8000

#暴露 有端
management.endpoints.web.exposure.include =女

#默认情况下 有端点都不启用,此时需要按需启用端点
management.endpoints.enabled-by-default=false

#启用端点 info
management.endpoint.info.enabled=true

#启用端点 beans
management.endpoint.beans.enabled=true

#启用端点 configprops
management.endpoint.configprops.enabled=true

#启用端点 env
management.endpont.env.enabled=true

#启用端点 health
management.endpoint.health.enabled=true

#启用端点 mappings
management.endpont.mappings.enabed=true

#启用端点 shutdown
management.endpoint.shutdown.enabled=true

/# Actuator 端点前缀
management.endpoints.web.base -path=/manage

#将原来的 mappings 端点的请求路径修改为 urlMappings
management.endpoints.web.path-mapping.mappings=request_mappings

# Spring MVC 视图解析器配置
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.Jsp