[笔记]SpringBoot实战(7)-Spring Boot 应用监控

系列笔记:

Spring Boot 提供了运行时的应用监控和管理的功能。我们可以通过http、JMX、SSH(SB2已经不支持,官方文档找不到)协议
来进行操作。审计、健康及指标信息将会自动得到

Spring Boot 提供了监控和管理端点:
如果是Web应用(Spring MVC, Spring WebFlux, or Jersey), 还可以使用如下附加管理端点: 端点的默认开放情况:

由于端点可能包含敏感信息,因此应仔细考虑何时公开它们。具体可参考:Spring Boot Actuator官方文档

要配置端点的启用,可以使用management.endpoint.<id>.enabled属性。

# 例如:
management.endpoint.beans.enabled=true  
management.endpoint.conditions.enabled=true  
management.endpoint.configprops.enabled=true  

SpringBoot 还支持自定义 Endpoints,自定义 HealthIndicators(健康检查)

http 方式

gradle 需添加依赖:

dependencies {  
    implementation ("org.springframework.boot:spring-boot-starter-actuator")
}

浏览器访问:http://localhost:8080/actuator 即可。

JMX 方式

在控制台调用Java内置的 jconsole 来实现 JMX 监控:

jconsole  

此时会打开 jconsole 页面,选择当前程序的进程,连接(可能是不安全的连接),在 MBean 标签的org.springframework.boot域下可对我们的程序进行监控和管理。

IDEA 的支持

IDEA 在 Run Dashboard 中的 Endpoints 页面中可以直接监控和管理。