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

Admin 簡介

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

Spring Boot Admin 為已注冊的應用程序提供了豐富的監控運維功能。如下:

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

更多可以通過考文檔詳細了解。

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

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

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 Boot 2.X(十七):應用監控之 Spring Boot Admin 使用及配置

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

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.* 標記作為要與此實例相關聯的鍵值對

示例代碼

github

文檔參考

https://codecentric.github.io…

非特殊說明,本文版權歸 朝霧輕寒 所有,轉載請注明出處.

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

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

如果文章對您有幫助,請掃碼關注下我的公眾號,文章持續更新中…

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

原文 

https://segmentfault.com/a/1190000020996175

本站部分文章源于互聯網,本著傳播知識、有益學習和研究的目的進行的轉載,為網友免費提供。如有著作權人或出版方提出異議,本站將立即刪除。如果您對文章轉載有任何疑問請告之我們,以便我們及時糾正。

PS:推薦一個微信公眾號: askHarries 或者qq群:474807195,里面會分享一些資深架構師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發、高性能、分布式、微服務架構的原理,JVM性能優化這些成為架構師必備的知識體系。還能領取免費的學習資源,目前受益良多

轉載請注明原文出處:Harries Blog? » Spring Boot 2.X(十七):應用監控之 Spring Boot Admin 使用及配置

贊 (0)
分享到:更多 ()

評論 0

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
2013平特肖公式