通过引入spring-boot-starter-actuator,可以使用Spring Boot为我们提供的准生产环境下的应用监控和管理功能。我们可以通过HTTP, JMX, SSH协议来进行操作,自动得到审计、健康及指标信息等 。
步骤:
引入spring-boot-starter-actuctor <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
如果不在配置文件中配置把端口暴露出来,则会出现以下这样的情况。
因为actuator默认只支持端点 /health、/info 所以访问 /env 会出现404页面。
监控点和管理端点
端点名描述autoconfig所有自动配置信息auditevents审计事件beans所有Bean的信息configprops所有配置属性dump线程状态信息env当前环境信息health应用健康状况info当前应用信息metrics应用的各项指标mappings应用@RequestMapping映射路径shutdown关闭当前应用(默认关闭)trace追踪信息(最新的http请求)*示例:*访问必须添加前缀/actuator
可进行shutdown (POST提交, 此端点默认关闭)
在配置文件中配置
#启用shutdown management.endpoint.shutdown.enabled=true# 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/ dpoints.web.path-mapping.mappings=request_mappings
# Spring MVC 视图解析器配置 spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.Jsp