在生產環境中,需要實時或定期監控服務的可用性。Spring Boot的actuator(健康監控)功能提供了很多監控所需的接口,可以對應用系統進行配置查看、相關功能統計等。
集成:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
如果使用HTTP調用的方式,還需要這個依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
配置:
application.yml中指定監控的HTTP端口(如果不指定,則使用和Server相同的端口);指定去掉某項的檢查(比如不監控health.mail):
server: port: 8082 management: port: 54001 health: mail: enabled: false
使用:
HTTP方法 | 路徑 | 描述 | 鑒權 |
---|---|---|---|
GET | /autoconfig | 查看自動配置的使用情況 | true |
GET | /configprops | 查看配置屬性,包括默認配置 | true |
GET | /beans | 查看bean及其關系列表 | true |
GET | /dump | 打印線程棧 | true |
GET | /env | 查看所有環境變量 | true |
GET | /env/{name} | 查看具體變量值 | true |
GET | /health | 查看應用健康指標 | false |
GET | /info | 查看應用信息(需要自己在application.properties里頭添加信息,比如info.contact.email=easonjim@163.com) | false |
GET | /mappings | 查看所有url映射 | true |
GET | /metrics | 查看應用基本指標 | true |
GET | /metrics/{name} | 查看具體指標 | true |
POST | /shutdown | 關閉應用(要真正生效,得配置文件開啟endpoints.shutdown.enabled: true) | true |
GET | /trace | 查看基本追蹤信息 | true |
Maven示例:
https://github.com/easonjim/spring-cloud-demo/tree/master/ZooKeeper
參考:
https://segmentfault.com/a/1190000004318360?_ea=568366