溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

spring boot starter actuator怎么用

發(fā)布時間:2021-08-09 11:05:57 來源:億速云 閱讀:188 作者:小新 欄目:編程語言

這篇文章主要介紹了spring boot starter actuator怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

添加POM依賴:

<!-- spring-boot-監(jiān)控-->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

application.yml中指定監(jiān)控的HTTP端口(如果不指定,則使用和Server相同的端口);指定去掉某項的檢查(比如不監(jiān)控health.mail):

server:
 port: 8083
management:
  port: 8083
  security:
   enabled: false #

監(jiān)控和管理端點

端點名描述
autoconfig所有自動配置信息( positiveMatches :運(yùn)行的, negativeMatches 未運(yùn)行組件)
auditevents審計事件
beans所有Bean的信息
configprops所有配置屬性
dump線程狀態(tài)信息
env當(dāng)前環(huán)境信息
health應(yīng)用健康狀況
info當(dāng)前應(yīng)用信息
metrics應(yīng)用的各項指標(biāo)
mappings應(yīng)用@RequestMapping映射路徑
shutdown關(guān)閉當(dāng)前應(yīng)用(默認(rèn)關(guān)閉)
trace追蹤信息(最新的http請求)
heapdump下載內(nèi)存快照

http://localhost:8083/info 讀取配置文件application.properties的 info.*屬性

  在InfoProperties 讀取

  application.properties :

info.app.version=v1.2.0
info.app.name=abc

在GitProperties  獲取git.properties 的信息 

info.app.version=v1.2.0
info.app.name=abc
#遠(yuǎn)程關(guān)閉開啟
endpoints.shutdown.enabled=true 
#訪問:http://localhost:8083/shutdown  關(guān)閉服務(wù)

metrics

{
mem: 573549,  //內(nèi)存大小
mem.free: 388198, //內(nèi)存剩余大小
processors: 4, //處理器數(shù)量
instance.uptime: 338426,
uptime: 345091,
systemload.average: -1,
heap.committed: 489984,
heap.init: 131072,
heap.used: 101785,
heap: 1842688,
nonheap.committed: 85056,
nonheap.init: 2496,
nonheap.used: 83566,
nonheap: 0,
threads.peak: 46,
threads.daemon: 36,
threads.totalStarted: 72,
threads: 39, //線程
classes: 12109,
classes.loaded: 12109, //加載的類
classes.unloaded: 0, //沒加載的類
gc.ps_scavenge.count: 10,
gc.ps_scavenge.time: 103,
gc.ps_marksweep.count: 3,
gc.ps_marksweep.time: 219,
httpsessions.max: -1,
httpsessions.active: 0,
gauge.response.mappings: 3,
gauge.response.autoconfig: 4,
gauge.response.trace: 167,
counter.status.200.mappings: 1,
counter.status.200.autoconfig: 2,
counter.status.200.trace: 1
}

自定義配置說明:

#關(guān)閉metrics功能
endpoints.metrics.enabled=false
#開啟shutdown遠(yuǎn)程關(guān)閉功能
endpoints.shutdown.enabled=true
#設(shè)置beansId
endpoints.beans.id=mybean
#設(shè)置beans路徑
endpoints.beans.path=/bean
#關(guān)閉beans 功能
endpoints.beans.enabled=false
#關(guān)閉所有的
endpoints.enabled=false 
#開啟單個beans功能
endpoints.beans.enabled=true
#所有訪問添加根目錄
management.context-path=/manage
management.port=8181

org.springframework.boot.actuate.health 包下對于所有的健康狀態(tài)檢查例如:RedisHealthIndicator ,當(dāng)有redis的starter 時候就會檢查

{
  status: "DOWN", //狀態(tài)
  diskSpace: {
  status: "UP",
  total: 395243941888,
  free: 367246643200,
  threshold: 10485760
  },
  rabbit: {
  status: "DOWN",
  error: "org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect"
  },
  redis: {
  status: "UP",
  version: "4.0.9"
  },
  db: {
  status: "UP",
  database: "MySQL",
  hello: 1
  }
}

自定義health

?自定義健康狀態(tài)指示器

?1、編寫一個指示器 實現(xiàn) HealthIndicator 接口

?2、指示器的名字 xxxxHealthIndicator

?3、加入容器中

import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.stereotype.Component;
@Component
public class MyAppHealthIndicator implements HealthIndicator {

  @Override
  public Health health() {

    //自定義的檢查方法
    //Health.up().build()代表健康
    return Health.down().withDetail("msg","服務(wù)異常").build();
  }
}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“spring boot starter actuator怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI