天天看點

Springboot之Actuator的使用解析Springboot之Actuator的使用解析

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
}