Springboot之Actuator的使用解析
Actuator是spring boot提供的對應用系統的自省和監控的內建功能,可以對應用系統進行配置檢視、相關功能統計等。
1.準備環境:
一個springBoot工程
2.添加依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
3.可以在你的application.yml配置檔案配置:
注意:在properties檔案中配置actuator權限配置(否則通路一些暴露的監控資訊會報401,很多部落格裡沒有這一項,讓很多人誤解了)
management.security.enabled=false
#資訊
info:
contact:
email: test
phone: test
##運作狀态 actuator監控
endpoints:
enabled: true
info:
sensitive: false
health:
sensitive: false
management:
##服務路徑
context-path: /
security:
enabled: false
##服務端口
port: 8081
如果你使用
application.properties
,可以做類似的配置:
endpoints.enabled=true
endpoints.info.sensitive=false
endpoints.health.sensitive=false
management.context-path=/
management.port=8081
4.接口
接口 | 描述 | 敏感 |
---|---|---|
actuator | 列出所有可用接口 | true |
autoconfig | 顯示一個auto-configuration的報告,該報告展示所有auto-configuration候選者及它們被應用或未被應用的原因 | |
beans | 顯示一個應用中所有Spring Beans的完整清單 | |
configprops | 顯示一個所有@ConfigurationProperties的整理清單 | |
dump | 顯示目前應用線程狀态資訊 | |
env | 顯示Spring的ConfigurableEnvironment屬性 | |
health | 展示應用的健康資訊(當使用一個未認證連接配接通路時顯示一個簡單的’status’,使用認證連接配接通路則顯示全部資訊詳情) | false |
info | 顯示應用資訊 | |
metrics | 展示目前應用的’名額’資訊 | |
mappings | 顯示一個所有@RequestMapping路徑的整理清單 | |
shutdown | 允許應用以優雅的方式關閉(預設情況下不啟用) | |
trace | 顯示trace資訊(預設情況下是最後100個HTTP請求) | |
loggers | 提供顯示和修改應用程式中loggers配置的功能 |
5.通路結果示例
/health
{
status: "UP",
diskSpace: {
status: "UP",
total: 472446402560,
free: 465802993664,
threshold: 10485760
},
redis: {
status: "UP",
version: "3.2.100"
},
db: {
status: "UP",
database: "MySQL",
hello: 1
}
}
/info
{
contact: {
email: "test",
phone: "test"
}
}
/metrics
{
mem: 614490,
mem.free: 238291,
processors: 4,
instance.uptime: 51601,
uptime: 56528,
systemload.average: -1,
heap.committed: 556032,
heap.init: 131072,
heap.used: 317740,
heap: 1857024,
nonheap.committed: 59968,
nonheap.init: 2496,
nonheap.used: 58459,
nonheap: 0,
threads.peak: 42,
threads.daemon: 36,
threads.totalStarted: 59,
threads: 38,
classes: 7991,
classes.loaded: 7991,
classes.unloaded: 0,
gc.ps_scavenge.count: 8,
gc.ps_scavenge.time: 219,
gc.ps_marksweep.count: 2,
gc.ps_marksweep.time: 86,
httpsessions.max: -1,
httpsessions.active: 0,
datasource.primary.active: 0,
datasource.primary.usage: 0,
gauge.response.info: 47,
gauge.response.star-star.favicon.ico: 19,
counter.status.200.info: 1,
counter.status.200.star-star.favicon.ico: 1
}