SpringBoot第二十四篇:應用監控之Admin
作者:追夢1819
原文:https://www.cnblogs.com/yanfei1819/p/11457867.html
版權宣告:本文為博主原創文章,轉載請附上博文連結!
引言
前一章(SpringBoot第二十二篇:應用監控之Actuator)介紹了 SpringBoot 應用使用 Actuctor 進行監控。文章最後也提出了一個問題,是否可以將監控結果更好的展示個運維同學?
本章解答這個問題。
Spring Boot Admin 是一個管理和監控 Spring Boot 應用程式的開源專案。分為 admin-server 與 admin-client 兩個元件,admin-server通過採集 actuator 端點資料,顯示在 spring-boot-admin-ui 上,已知的端點幾乎都有進行採集,通過 spring-boot-admin 可以動態切換日誌級別、匯出日誌、匯出 heapdump、監控各項指標 等。
Spring Boot Admin
在對單一應用服務監控的同時也提供了叢集監控方案,支援通過eureka
、consul
、zookeeper
等註冊中心的方式實現多服務監控與管理。
SpringBoot Admin的使用
建立 admin-server
首先,引入 maven 依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> </dependency>
為了便於區分,定義埠號為 8081:
server.port=8081
在啟動類上加註解 @EnableAdminServer
.
即:
package com.yanfei1819.adminserver; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableAdminServer public class AdminServerApplication { public static void main(String[] args) { SpringApplication.run(AdminServerApplication.class, args); } }
我們先來感受一下 SpringBoot Admin 的介面:
頁面中沒有內容,下面建立要監控的客戶端。
建立 admin-client
引入 maven 依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
設定其埠號為 8082:
server.port=8082
spring.boot.admin.client.url=http://localhost:8081
# 啟用所有的端點的web方式請求。如果不啟用,將看不到詳細的監控資訊。
management.endpoints.web.exposure.include=*
先啟動 admin-server,再啟動 admin-client。
以下是相關的一些介面:
監控的首頁:
Applications:
執行日誌:
詳細資訊:
在以上的介面中,幾乎囊括了所有的監控資訊。讀者感興趣可以逐個詳細瞭解。此處因篇幅所限,不作展開處理。
如果是需要監控多個客戶端的資訊,只需要在客戶端配置檔案 application.properties 中配置:
spring.boot.admin.client.url=http://localhost:8081
# 啟用所有的端點的web方式請求。如果不啟用,將看不到詳細的監控資訊。
management.endpoints.web.exposure.include=*
本章原始碼寫了兩個客戶端,文中為簡化只演示了一個。
總結
上述文章只是介紹了 SpringBoot Admin 的相關應用,在實際專案中,可以做安全認證,許可權設定,甚至訊息通知等。
到目前為止,本系列已經寫了二十四篇。一路使用的下來的感受是,用比理解簡單。最重要的是理解,理解思想,原理(當然,本系列由於針對的是 SpringBoot 入門的學習者,在原理方面未作深入的詳解。後續將另開一個系列,專攻原理解析),方能使用起來得心應手,碰到問題而不是隻會複製、貼上、問度娘。
說一句題外話。這一篇與上一篇的時間相距較長。主要是作者在這段時間大概學習了一下分散式、高併發和 MySQL 這三塊的知識點。後面有時間也想將這些分享給大家。
最後,歡迎大佬拍磚。
ps:本系列的原始碼地址。
相關推薦
SpringBoot第二十四篇:應用監控之Admin
作者:追夢1819 原文:https://www.cnblogs.com/yanfei1819/p/11457867.html 版權宣告:本文為博主原創文章,轉載請附上博文連結! 引言 前一章(SpringBoot第二十二篇:應用監控之Actuator)介紹了 SpringBoot 應用使用 Actuc
SpringBoot第二十二篇:應用監控之Actuator
作者:追夢1819 原文:https://www.cnblogs.com/yanfei1819/p/11226397.html 版權宣告:本文為博主原創文章,轉載請附上博文連結! 引言 很多文章都將 SpringBoot Actuator 的 Endpoint 翻譯為 "端點"。不過
一起來學SpringBoot | 第十四篇:強大的 actuator 服務監控與管理
SpringBoot 是為了簡化 Spring 應用的建立、執行、除錯、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規範,引入相關的依賴就可以輕易的搭建出一個 WEB 工程 actuato
SpringBoot非官方教程 | 第二十四篇: springboot整合docker
這篇文篇介紹,怎麼為 springboot程式構建一個Docker映象。docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 L
一起來學SpringBoot | 第二十六篇:輕鬆搞定安全框架(Shiro)
SpringBoot 是為了簡化 Spring 應用的建立、執行、除錯、部署等一系列問題而誕生的產物,自動裝配的特性讓我們可以更好的關注業務本身而不是外部的XML配置,我們只需遵循規範,引入相關的依賴就可以輕易的搭建出一個 WEB 工程 Shiro 是
輕輕鬆鬆學習SpringBoot2:第二十四篇: Spring Boot過濾器
①攔截器是基於java的反射機制的,而過濾器是基於函式回撥。 ②攔截器不依賴與servlet容器,過濾器依賴與servlet容器。 ③攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用。 ④攔截器可以訪問action上下文、值棧裡的物
SpringBoot第十四篇:統一異常處理
作者:追夢1819 原文:https://www.cnblogs.com/yanfei1819/p/10984081.html 版權宣告:本文為博主原創文章,轉載請附上博文連結! 引言 本文將談論 SpringBoot 的預設錯誤處理機制,以及如何自定義錯誤響應。 版本資訊 JDK:1.8 Spri
SpringBoot第二十一篇:整合ActiveMQ
作者:追夢1819 原文:https://www.cnblogs.com/yanfei1819/p/11190048.html 版權宣告:本文為博主原創文章,轉載請附上博文連結! 引言 前一章節中,我們詳細闡述了 ActiveMQ 的安裝和使用。其實在網站發展壯大的過程中,訊息中介軟體是無法忽視的技術框
SpringBoot | 第二十一章:非同步開發之非同步呼叫
前言 上一章節,我們知道了如何進行非同步請求的處理。除了非同步請求,一般上我們用的比較多的應該是非同步呼叫。通常在開發過程中,會遇到一個方法是和實際業務無關的,沒有緊密性的。比如記錄日誌資訊等業務。這個時候正常就是啟一個新執行緒去做一些業務處理,讓主執行緒非同步的執行其他業
SpringBoot非官方教程 | 第二十五篇:2小時學會springboot
Takes an opinionated view of building production-ready Spring applications. Spring Boot favors convention over configuration and i
SpringBoot | 第二十八章:監控管理之Spring Boot Admin使用
前言 上一章節,我們介紹了Actuator的使用,知道了可通過訪問不同的端點路徑,獲取相應的監控資訊。但使用後也能發現,返回的監控資料都是以JSON串的形式進行返回的,對於實施或者其他人員來說,不是很直觀,而當需要監控的應用越來越多時,依次去訪問對應的應用也過於繁瑣和低效了。所以,本章節來介紹下Spring
跟我學SpringCloud | 第十四篇:Spring Cloud Gateway高階應用
SpringCloud系列教程 | 第十四篇:Spring Cloud Gateway高階應用 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如無特殊說明,本系列教程全採用以上版本 上一篇我們聊了Gateway和註冊中心的使用,以及 Ga
第二十四篇 jQuery 學習6 刪除元素
cli 存在 代碼 size 執行 utf-8 style 指定 消失 jQuery 學習6 刪除元素 上節課我們做了添加元素,模擬的是樓主發的文章,路人評論,那麽同學們這節課學了刪除之後,去之前的代碼上添加一個刪除,模擬一個樓主刪除路人的評論。 jQuery的刪除方法
python全棧開發基礎【第二十四篇】(利用threading模塊開線程、join與守護線程、GIL與Lock)
roc print 例子 線程 -- elf 定期 listen cti 一多線程的概念介紹 threading模塊介紹 threading模塊和multiprocessing模塊在使用層面,有很大的相似性。 二、開啟多線程的兩種方式 創建線程的開銷比創建進程的開銷小,
flask第二十四篇——模板【6】自定義過濾器
def 定義 lazy .py highlight abs nbsp tps word 請關註孟船長的公眾號:自動化測試實戰 大家想了解其他過濾器可以參考這裏: http://jinja.pocoo.org/docs/dev/templates/#builtin-fil
第二十四篇 玩轉數據結構——隊列(Queue)
stat 基礎 ann move 打印 圖片 data image 線性 1.. 隊列基礎 隊列也是一種線性結構; 相比數組,隊列所對應的操作數是隊列的子集; 隊列只允許從一端(隊尾)添加元素,從另一端(隊首)取出元素;
史上最簡單的 SpringCloud 教程 | 第十四篇: 服務註冊(consul)
配置 資料 源碼下載 擴展性 local sta tar value mark 這篇文章主要介紹 spring cloud consul 組件,它是一個提供服務發現和配置的工具。consul具有分布式、高可用、高擴展性。 consul 具有以下性質: 服務發現:cons
史上最簡單的SpringCloud教程 | 第十二篇: 斷路器監控(Hystrix Dashboard)
詳細 pre 良好的 依次 alt ews 需要 ext 數據監控 最新Finchley版本,請訪問:https://www.fangzhipeng.com/springcloud/2018/08/30/sc-f12-dash/或者http://blog.csdn.net
PowerBI開發 第十四篇:DAX 表達式(時間+過濾+關系)
數據 bsp 可能 library 聚合 ont 數據分析 狀態 mon DAX表達式中包含時間關系(Time Intelligence)相關的函數,用於對日期維度進行累加、同比和環比等分析。PowerBI能夠創建關系,通過過濾器來對影響計算的上下文。 一,時間關系 D
第二十四篇-用VideoView製作一個簡單的視訊播放器
這是一個播放本地視訊的播放器,videoUrl1是手機裡放置視訊的路徑 效果圖: MainActivity.java package com.example.aimee.videotest; import android.Manifest; import android.co