Spring Boot 2.X(十七):應用監控之 Spring Boot Admin 使用及配置

Admin 簡介

Spring Boot Admin 是 Spring Boot 應用程序運行狀態監控和管理的後臺界面。最新UI使用vue.js重寫裏。vue

Spring Boot Admin 爲已註冊的應用程序提供了豐富的監控運維功能。以下:git

  • 顯示健康情況
  • 顯示應用運行時的詳細信息,如:JVM 和內存指標等
  • 計數器和測量指標
  • 數據源度量
  • 緩存度量
  • 跟蹤和下載日誌文件
  • 查看 jvm 系統和環境屬性
  • 一鍵管理loglevel
  • 管理執行 JMX-beans
  • 查看線程轉儲
  • 查看跟蹤信息
  • Hystrix-Dashboard集成(2.X版本已刪除集成)
  • 下載 heapdump
  • 狀態更改通知(支持:電子郵件、Slack、Hipchat等)
  • 狀態更改事件日誌(非永久性)

更多能夠經過考文檔詳細瞭解。github

Admin 使用及配置

Spring Boot Admin 服務端

項目依賴

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- admin-server -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.1.6</version>
        </dependency>

配置啓動 Admin Server

@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringBootAdminApplication.class, args);
    }

}

application.properties 配置

server.port=9000
spring.application.name=Spring Boot Admin Web

測試

啓動項目,經過瀏覽器訪問 http://127.0.0.1:9000
web

Spring Boot Admin 客戶端

這裏以上面是 Spring Boot Actuator 項目爲例正則表達式

項目依賴

<!-- admin-client -->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.1.6</version>
        </dependency>

application.properties 配置

#設置 Admin Server 地址
server.port=8080
spring.application.name=Spring Boot Actuator Demo
spring.boot.admin.client.url=http://127.0.0.1:9000

測試

啓動項目,經過瀏覽器訪問 http://127.0.0.1:9000,咱們會看到 Spring Boot Admin 的管理界面中 applications 會顯示相應的客戶端應用,點擊應用進入詳細的監控界面。spring


Spring Boot Admin 配置屬性

Spring Boot Admin Server 配置屬性詳解

屬性 描述 默認值
spring.boot.admin.context-path 上下文路徑在應爲Admin Server的靜態資產和API提供服務的路徑的前面加上前綴。相對於Dispatcher-Servlet /
spring.boot.admin.monitor.status-interval 更新client端狀態的時間間隔,單位是毫秒 10000
spring.boot.admin.monitor.status-lifetime client端狀態的生命週期,該生命週期內不會更新client狀態,單位是毫秒 10000
spring.boot.admin.monitor.connect-timeout 查詢client端狀態信息時的鏈接超時,單位是毫秒 2000
spring.boot.admin.monitor.read-timeout 查詢client端狀態信息時的讀取超時時間,單位是毫秒 10000
spring.boot.admin.monitor.default-retries 失敗請求的默認重試次數。Modyfing請求(PUT,POST,PATCH,DELETE)將永遠不會重試 0
spring.boot.admin.monitor.retries.* 鍵值對,具備每一個endpointId的重試次數。默認爲默認重試。Modyfing請求(PUT,POST,PATCH,DELETE)將永遠不會重試
spring.boot.admin.metadata-keys-to-sanitize 要被過濾掉的元數據(當與正則表達式相匹配時,這些數據會在輸出的json數據中過濾掉) ".password$", ".*secret$", ".*key$", ".$token$", ".credentials.", ".*vcap_services$"
spring.boot.admin.probed-endpoints 要獲取的client的端點信息 "health", "env", "metrics", "httptrace:trace", "threaddump:dump", "jolokia", "info", "logfile", "refresh", "flyway", "liquibase", "heapdump", "loggers", "auditevents"
spring.boot.admin.instance-proxy.ignored-headers 向client發起請求時不會被轉發的headers信息 "Cookie", "Set-Cookie", "Authorization"
spring.boot.admin.ui.public-url 用於在ui中構建基本href的基本URL 若是在反向代理後面運行(使用路徑重寫),則可用於進行正確的自我引用。若是省略了主機/端口,將從請求中推斷出來
spring.boot.admin.ui.brand 導航欄中顯示的品牌 <img src="assets/img/icon-spring-boot-admin.svg"><span>Spring Boot Admin</span>
spring.boot.admin.ui.title 頁面標題 "Spring Boot Admin"
spring.boot.admin.ui.favicon 用做默認圖標的圖標,用於桌面通知的圖標 "assets/img/favicon.png"
spring.boot.admin.ui.favicon-danger 當一項或多項服務關閉並用於桌面通知時,用做網站圖標 "assets/img/favicon-danger.png"

Spring Boot Admin Client 配置屬性詳解

屬性 描述 默認值
spring.boot.admin.client.enabled 啓用Spring Boot Admin Client true
spring.boot.admin.client.url 要註冊的server端的url地址。若是要同時在多個server端口註冊,則用逗號分隔各個server端的url地址
spring.boot.admin.client.api-path 管理服務器上註冊端點的Http路徑 "instances"
spring.boot.admin.client.username 若是server端須要進行認證時,該屬性用於配置用戶名
spring.boot.admin.client.password 若是server端須要進行認證時,該屬性用於配置密碼
spring.boot.admin.client.period 重複註冊的時間間隔(以毫秒爲單位) 10000
spring.boot.admin.client.connect-timeout 鏈接註冊的超時時間(以毫秒爲單位) 5000
spring.boot.admin.client.read-timeout 讀取註冊超時(以毫秒爲單位) 5000
spring.boot.admin.client.auto-registration 若是設置爲true,則在應用程序準備就緒後會自動安排註冊應用程序的按期任務 true
spring.boot.admin.client.auto-deregistration 當上下文關閉時,切換爲在Spring Boot Admin服務器上啓用自動解密。若是未設置該值,而且在檢測到正在運行的CloudPlatform時,該功能處於活動狀態 null
spring.boot.admin.client.register-once 若是設置爲true,則客戶端將僅向一臺管理服務器註冊(由定義spring.boot.admin.instance.url);若是該管理服務器出現故障,將自動向下一個管理服務器註冊。若是爲false,則會向全部管理服務器註冊 true
spring.boot.admin.client.instance.health-url 要註冊的health-url地址。若是可訪問URL不一樣(例如Docker),則能夠覆蓋。在註冊表中必須惟一 默認該屬性值與management-url 以及endpoints.health.id有關。好比工程中該值爲:healthUrl=http://127.0.0.1:8080/actuator/health,其中http://127.0.0.1:8080/actuator是management-url,health是endpoints.health.id
spring.boot.admin.client.instance.management-base-url 用於計算要註冊的管理URL的基本URL。該路徑是在運行時推斷的,並附加到基本URL 默認該屬性值與management.port, service-url 以及server.servlet-path有關,如工程中該值爲http://127.0.0.1:8080,其中8080端口是配置的獲取actuator信息的端口。127.0.0.1是設置的service-url值,若是沒有設置service-url的話,則爲配置的server.servlet-path值(項目的啓動路徑)
spring.boot.admin.client.instance.management-url 要註冊的management-url。若是可訪問的URL不一樣(例如Docker),則能夠覆蓋 默認該屬性值與management-base-url 和 management.context-path兩個屬性值有關,如 managementUrl=http://127.0.0.1:8080/actuator,其中http://127.0.0.1:8080爲management-base-url,/actuator是management.context-path
spring.boot.admin.client.instance.service-base-url 用於計算要註冊的服務URL的基本URL。該路徑是在運行時推斷的,並附加到基本URL 默認該屬性值與hostname, server.port有關,如http://127.0.0.1:8080,其中8080端口是配置的server.port。127.0.0.1是client所在服務器的hostname
spring.boot.admin.client.instance.service-url 要註冊的服務網址。若是可訪問的URL不一樣(例如Docker),則能夠覆蓋 默認值是基於service-base-url 和 server.context-path進行賦值
spring.boot.admin.client.instance.name 要註冊的名稱 默認值是配置的spring.application.name的值,若是沒有配置該屬性的話,默認值是spring-boot-application
spring.boot.admin.client.instance.prefer-ip 在猜想的網址中使用ip地址而不是主機名。若是設置了server.address/ management.address,它將被使用。不然,InetAddress.getLocalHost()將使用從返回的IP地址 false
spring.boot.admin.client.instance.metadata.* 要與此實例相關聯的元數據鍵值對
spring.boot.admin.client.instance.metadata.tags.* 標記做爲要與此實例相關聯的鍵值對

示例代碼

githubjson

碼雲api

文檔參考

https://codecentric.github.io...瀏覽器

非特殊說明,本文版權歸 朝霧輕寒 全部,轉載請註明出處.緩存

原文標題:Spring Boot 2.X(十七):應用監控之 Spring Boot Admin 使用及配置

原文地址: https://www.zwqh.top/article/info/26

若是文章對您有幫助,請掃碼關注下個人公衆號,文章持續更新中...

相關文章
相關標籤/搜索