1. 背景
Spring组件扫描和自动织入,最常遭人抱怨的问题之一就是很难看到应用程序中的组件 是如何装配起来的,有没有一种办法能让你深入应用程序内部一窥究竟,了解它的行为,检查 它的健康状况呢? 我们将了解 Spring Boot的Actuator。它提供了很多生产级的特性,比如监控和度 量Spring Boot应用程序
2. 启用 Actuator
要开启,需要增加一个依赖
compile 'org.springframework.boot:spring-boot-starter-actuator'
默认情况下仅仅开启了少量 health 节点。
为了看到更多,在调试阶段,我们可以开启更多,通过修改配置文件:
management:
endpoints:
web:
exposure:
include: "*"
注意:正式环境一定记得关闭。
这时,打开网址:http://localhost:8080/actuator,可以看到下面这样:
![](https://img.haomeiwen.com/i2044033/418fcb66d1d83566.png)
2. 常用的actuator endpoint
先一些解析常用的actuator endpoint
1) 获得Bean装配报告 /beans
要了解应用程序中Spring上下文的情况,最重要的端点就是/beans。它会返回一个JSON文档, 描述上下文里每个Bean的情况,包括其Java类型以及注入的其他Bean。
路径:http://localhost:8080/actuator/beans
可以看到类似下面内容:
![](https://img.haomeiwen.com/i2044033/498bc6f58b40bb2b.png)
2) 指示健康状态 /health
![](https://img.haomeiwen.com/i2044033/2c54fb9f1ea5d086.png)
3) 环境变量 /env
/env端点会生成应用程序可用的所有环境属性的列表
![](https://img.haomeiwen.com/i2044033/5b3ee1034e464cc7.png)
4) 环境变量 /mappings
/mappings端点就提供了这么一个列表,罗列出应用程序发布的全部端点。
![](https://img.haomeiwen.com/i2044033/ca9aee6b44a84f1e.png)
5) 度量情况 /metrics
对运行时度量情况做一个快照,这对评估应用程序的健康情况很有帮助。Actuator 提供了一系列端点,让你能在运行时快速检查应用程序。
![](https://img.haomeiwen.com/i2044033/540f9cc6657432ba.png)
对运行时度量情况做一个快照,这对评估应用程序的健康情况很有帮助。Actuator 7 提供了一系列端点,让你能在运行时快速检查应用程序
3. 了解更多
Actuator 包含了很多的描述节点,列表如下:
![](https://img.haomeiwen.com/i2044033/878b4e7e868086dc.png)
Endpoint ID | Description | |
---|---|---|
auditevents | 显示应用暴露的审计事件 (比如认证进入、订单失败) | |
info | 显示应用的基本信息 | |
health | 显示应用的健康状态 | |
metrics | 显示应用多样的度量信息 | |
loggers | 显示和修改配置的loggers | |
logfile | 返回log file中的内容(如果logging.file或者logging.path被设置) | |
httptrace | 显示HTTP足迹,最近100个HTTP request/repsponse | |
env | 显示当前的环境特性 | |
flyway | 显示数据库迁移路径的详细信息 | |
liquidbase | 显示Liquibase 数据库迁移的纤细信息 | |
shutdown | 让你逐步关闭应用 | |
mappings | 显示所有的@RequestMapping路径 | |
scheduledtasks | 显示应用中的调度任务 | |
threaddump | 执行一个线程dump | |
heapdump | 返回一个GZip压缩的JVM堆dump |
网友评论