Spring Boot Admin快速打造監控平臺

2020-12-12 51cto

Spring Boot Admin快速打造監控平臺

使用過Spring boot的開發者都知道actuator,它是Springboot提供的用來對應用系統進行自省和監控的功能模塊,藉助於Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。

作者:低調的乾貨君來源:今日頭條|2020-12-01 08:32

使用過Spring boot的開發者都知道actuator,它是Springboot提供的用來對應用系統進行自省和監控的功能模塊,藉助於Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。但比較遺憾的是沒有可視化界面,只能通過乾燥的json數據來查看相應的指標,如下圖:

 

今天我們介紹一個可視化的監控指標平臺Spring Boot Admin,它利用spring-boot-starter-actuator提供的功能,將各個微服務的狀態整合到一起,並提供良好的界面查看支持,並且能夠動態的修改實例日誌級別。

Spring Boot Admin 開源地址:https://github.com/codecentric/spring-boot-admin

Spring Boot Admin分為server和client,使用非常方便,server端可查看各個微服務的狀態,client端將微服務註冊到server端。

服務端

下面先搭建server端,直接使用start.spring.io生成一個spring boot項目,引入下面依賴


配置埠和服務名

  1. server.port=8090 
  2. spring.application.name=admin-server 

啟動類,通過添加註解@EnableAdminServer

啟動後,打開url顯示如下


客戶端

spring boot項目,直接添加下圖依賴即可

application.properties中配置註冊的服務端地址如下

  1. spring.application.name=admin-client 
  2. spring.boot.admin.client.url=http://127.0.0.1:8090 
  3. management.endpoints.web.exposure.include=* 
  4. management.endpoint.health.show-details=ALWAYS 

啟動完成後,查看server端,如下圖

查看相關指標

應用牆可以快速看到那些服務異常

正常情況

異常情況

點擊應用,可以查看相應指標



查看properties的環境變量配置


查看日誌級別

Spring Boot Admin為註冊的應用程式提供以下功能:

  • 顯示健康狀況
  • 顯示詳細信息,例如JVM和內存指標micrometer.io指標數據源指標緩存指標
  • 顯示內部編號
  • 關注並下載日誌文件
  • 查看JVM系統和環境屬性
  • 查看Spring Boot配置屬性
  • 支持Spring Cloud的可發布/ env-&/ refresh-endpoint
  • 輕鬆的日誌級別管理
  • 與JMX-beans交互
  • 查看線程轉儲
  • 查看http-traces
  • 查看審核事件
  • 查看http端點
  • 查看預定的任務
  • 查看和刪除活動會話(使用spring-session)
  • 查看Flyway / Liquibase資料庫遷移
  • 下載heapdump
  • 狀態更改通知(通過電子郵件,Slack,Hipchat等)
  • 狀態更改的事件日誌(非持久性)

【編輯推薦】

【責任編輯:

姜華

TEL:(010)68476606】

點讚 0

相關焦點

  • 利用Spring Boot Admin 進行項目監控管理
    對於我們來說,我們可以通過 Spring Boot Admin 瀏覽所有被監控的 Spring Boot 項目,詳細的 Health 信息、內存信息、JVM 系統和環境屬性、垃圾回收信息等。
  • 「純手打」2萬字長文從0開始Spring Boot(上)
    引入 Spring MVC首先,我們打開 Maven 中 SpringBoot的官方倉庫:https://mvnrepository.com/artifact/org.springframework.boot該倉庫包含了近乎所有官方支持的 Starter 依賴,你可以理解 Starter 依賴是遵循 SpringBoot
  • Spring Boot與Shiro整合實現用戶認證
    ;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration
  • Spring Boot 啟動事件和監聽器,太強大了!
    Spring Boot 基礎的構建這裡就不介紹了,如果你對 Spring Boot 還不是很熟悉,或者只是會簡單的使用,那還是建議你深入學習下吧,推薦這個 Spring Boot 學習倉庫,歡迎 Star 關注:https://github.com/javastacks/spring-boot-best-practice1、新建監聽器
  • Guns-Seperation v1.0 發布,前後端分離版快速開發平臺
    注意:本次發布採用全新gitee地址,歡迎star https://gitee.com/stylefeng/guns-separation本次發布版本為Guns項目的新分支項目,採用前後端分離架構vue+antdv+spring
  • Rocket-API 版本更新,基於 Spring Boot 的 API 敏捷開發框架
    處理 mongo 下 findAll 返回數據最多 101 條記錄問題 處理 #{${}} 變量值篏套問題 db.count() 計數優化 添加全局變量 Utils 中的 pasreToString, pasreToObject 方法來實現對象與 string 的轉換概述"Rocket-API" 基於 spring
  • 深入淺出Spring 5,使用Spring 5的反應式WebSocket
    概述在本文中,我們將使用新的Spring Framework 5 WebSockets API和Spring WebFlux Framework提供的響應功能來創建一個快速示例。Maven依賴我們將使用開箱即用的spring-boot-starters依賴項來進行spring-boot-integration和spring-boot-starter-webflux(目前可在Spring Milestone Repository中獲得)。
  • Spring面試題:SpringBoot開發自定義starter
    Spring boot的AutoConfiguration機制標記一個應用為Springboot應用,需要一個SpringBootApplication註解,下面是一個標準的spring boot啟動程序。
  • springboot2.1.5集成fineReport報表工具
    在pom.xml中設置打包時將項目中libs文件夾下的jar也打包進去<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin
  • 如何用Spring WebFlux構建Reactive REST API
    plugins {id 'org.springframework.boot' version '2.2.6.RELEASE'id 'io.spring.dependency-management' version '1.0.9.RELEASE'id 'java'}group = 'org.smarttechie'version = '0.0.1-SNAPSHOT'sourceCompatibility
  • springboot+springsecurity實現前後端分離簡單實現!
    看springsecurtiy原理圖的時候以為灑灑水,結果自己動手做的時候一竅不通,所以一定不要眼高手低,實踐出真知!通過各種方式學習springsecurity,在B站、騰訊課堂、網易課堂、慕課網沒有springsecurity的前後端分離的教學視頻,那我就去csdn去尋找springsecurity博客,發現幾個問題:要麼就是前後端不分離,要麼就是通過內存方式讀取數據,而不是通過資料庫的方式讀取數據,要麼就是大佬們給的代碼不全、把代碼講的太繞,關鍵部分沒有注釋
  • magic-api 0.4.7 發布,接口快速開發框架
    Loading界面 優化部分邏輯,支持JDK9+ 優化內部代碼,DatabaseQuery 重命名為 SQLExecutor項目介紹magic-api 是一個基於Java的接口快速開發框架-- 以spring-boot-starter的方式引用 --><
  • JeecgBoot 2.4 微服務正式版發布,基於 SpringBoot 的低代碼平臺
    既能快速提高效率,節省研發成本,同時又不失靈活性!1.1.17 => 1.1.22 jwt 3.7.0 => 3.11.0 shiro 1.5.3 => 1.7.0 fastjson 1.2.72 => 1.2.75 mysql-connector-java 8.0.20=>8.0.21 dynamic-datasource-spring-boot-starter
  • Spring全家桶、Dubbo、分布式、消息隊列後端必備全套開源項目
    在帶你快速學會 SpringMVC API 接口的編寫的同時,我還想告訴你還有全局返回、全局異常、攔截器、跨域處理等等功能。在帶你快速學會 MQ 消息的發送與消費的同時,我還想告訴你 MQ 還有集群消費、廣播消費、順序消息、定時消息、事務消息、消費重試等等特性。
  • 從零搭建 Spring Cloud 服務(超詳細)
    SpringCloud官網:https://spring.io/projects/spring-cloud(個人建議是用谷歌瀏覽器訪問官網打開中文翻譯粗略把官網讀一遍)把 Spring 全家桶相關的文章整理成了 PDF,關注微信公眾號 Java後端,回復 666 下載這個技術棧手冊。