Spring Boot 监控核心是 spring-boot-starter-actuator 依赖,增加依赖后, Spring Boot 会默认配置一些通用的监控,比如 jvm 监控、类加载、健康监控等。
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
如果,使用 HTTP 调用的方式,还需要 spring-boot-starter-web 依赖。
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
监控和管理端点
HTTP方法 | 路径 | 描述 |
---|---|---|
GET | /actuator | 查看所有EndPoint的列表,需要加入 Spring HATEOAS 支持 |
GET | /autoconfig | 查看应用的自动配置的使用情况 |
GET | /beans | 查看应用的所有Bean的信息 |
GET | /configprops | 查看应用的所有配置属性 |
GET | /dump | 查看应用的线程状态信息 |
GET | /env | 查看应用的所有环境信息 |
GET | /flyway | 查看已经有迁徙路线数据库迁移 |
GET | /health | 查看应用健康指标 |
GET | /info | 查看应用信息 |
GET | /liquibase | 查看已经有liquibase数据库迁移应用 |
GET | /mappings | 查看所有url映射 |
GET | /metrics | 查看应用基本指标 |
POST | /shutdown | 允许优雅关闭当前应用(默认情况下不启用) |
GET | /trace | 查看基本的HTTP跟踪信息 |
GET | /docs | 查看文档,需要依赖 spring-boot-actuator-docs |
GET | /heapdump | 返回一个gzip压缩 hprof 堆转储文件 |
GET | /jolokia | 暴露JMX bean(当jolokia路径) |
GET | /logfile | 查看日志文件的内容(如果logging.file或logging.path属性已设置)。支持使用对HTTP范围标头到日志文件的部分恢复内容。 |
health 应用健康指标
我们可以通过 http://localhost:8080/health , 统计系统的状况,默认里面目前只有系统状况和磁盘状况。这些检测器都通过 HealthIndicator 接口实现,可以通过 HealthIndicator 接口实现自定义健康检测。
info 查看应用信息
默认情况下,只会返回一个空的 json 内容。我们可以在 application.properties 配置文件中通过 info 前缀来设置一些属性。
我们可以通过 http://localhost:8080/metrics, 获取当前应用的各类重要度量指标,比如:内存信息、线程信息、垃圾回收信息等。
我们还可以通过 /metrics/{name} 接口来更细粒度的获取度量信息,比如我们可以通过访问 /metrics/mem.free 来获取当前可用内存数量。
trace 基本的HTTP跟踪信息
查看基本的 HTTP 跟踪信息。默认情况下,跟踪信息的存储采用 org.springframework.boot.actuate.trace.InMemoryTraceRepository 实现的内存方式,始终保留最近的 100 条请求记录。
shutdown关闭当前应用
shutdown 端点默认是不启用的,我们可以在 application.properties 中开启。此外,shutdown 端点不支持 GET 请求,我们需要通过 POST 方法访问。
- endpoints.shutdown.enabled=true
问题
访问http://localhost:8080/env报401
http://blog.720ui.com/2017/springboot_09_actuator_http/
参考链接
http://blog.720ui.com/2017/springboot_09_actuator_http/