<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Spring Boot Admin,賊好使!

          共 3862字,需瀏覽 8分鐘

           ·

          2022-03-15 14:59


          Spring Boot Admin(SBA)是一個開源的社區(qū)項(xiàng)目,用于管理和監(jiān)控 Spring Boot 應(yīng)用程序。應(yīng)用程序可以通過 http 的方式,或 Spring Cloud 服務(wù)發(fā)現(xiàn)機(jī)制注冊到 SBA 中,然后就可以實(shí)現(xiàn)對 Spring Boot 項(xiàng)目的可視化管理和查看了。

          Spring Boot Admin 可以監(jiān)控 Spring Boot 單機(jī)或集群項(xiàng)目,它提供詳細(xì)的健康 (Health)信息、內(nèi)存信息、JVM 系統(tǒng)和環(huán)境屬性、垃圾回收信息、日志設(shè)置和查看、定時任務(wù)查看、Spring Boot 緩存查看和管理等功能。接下來我們一起來搭建和使用吧。

          它最終的展示效果如下:

          1.搭建SBA監(jiān)控端

          我們需要創(chuàng)建一個 Spring Boot Admin 項(xiàng)目,用來監(jiān)控和管理我們的 Spring Boot 項(xiàng)目,搭建的方式和創(chuàng)建普通的 Spring Boot 項(xiàng)目類似,具體步驟如下。使用 Idea 創(chuàng)建一個 Spring Boot 項(xiàng)目:這里需要注意,需要添加 Spring Boot Admin(Server)服務(wù)端框架的支持,如下圖所示:也就是創(chuàng)建的 Spring Boot 項(xiàng)目需要添加以下兩個重要的框架支持:

          <dependency>
          ???<groupId>org.springframework.bootgroupId>
          ???<artifactId>spring-boot-starter-webartifactId>
          dependency>
          <dependency>
          ??<groupId>de.codecentricgroupId>
          ??<artifactId>spring-boot-admin-starter-serverartifactId>
          dependency>

          1.1 開啟SBA服務(wù)

          創(chuàng)建完項(xiàng)目之后,需要在啟動類上開啟 SBA 服務(wù):

          import?de.codecentric.boot.admin.server.config.EnableAdminServer;
          import?org.springframework.boot.SpringApplication;
          import?org.springframework.boot.autoconfigure.SpringBootApplication;

          @EnableAdminServer?//?添加此行代碼
          @SpringBootApplication?
          public?class?SbaserverApplication?{
          ????public?static?void?main(String[]?args)?{
          ????????SpringApplication.run(SbaserverApplication.class,?args);
          ????}
          }

          1.2 配置SBA端口號

          在 application.properties 中配置一個項(xiàng)目的端口號就可以直接啟動了,我配置的端口號是 9001:

          server.port=9001

          PS:配置端口號的主要目的是為了不和其他 Spring Boot 項(xiàng)目沖突,如果 SBA 是單獨(dú)部署此步驟可以忽略。

          啟動項(xiàng)目之后,就可以看到 SBA 的主頁了,如下圖所示:此時 SBA 中還沒有添加任何需要監(jiān)控的項(xiàng)目,接下來我們再創(chuàng)建一個 Spring Boot 項(xiàng)目,加入到 SBA 中來進(jìn)行監(jiān)控和管理吧。

          2.創(chuàng)建一個普通SpringBoot項(xiàng)目

          首先,我們需要創(chuàng)建一個普通的 Spring Boot 項(xiàng)目,具體的創(chuàng)建步驟這里就不演示了。當(dāng)創(chuàng)建好 Spring Boot 項(xiàng)目之后,需要在這個 Spring Boot 項(xiàng)目中需要添加 SBA 客戶端框架的支持,也就是在 pom.xml 中配置如下內(nèi)容:

          <dependency>
          ??<groupId>de.codecentricgroupId>
          ??<artifactId>spring-boot-admin-starter-clientartifactId>
          dependency>

          然后在 application.properties 文件中配置 SBA 服務(wù)器端地址,也就是咱們第一步創(chuàng)建 SBA 項(xiàng)目的地址,配置內(nèi)容如下:

          #?當(dāng)前項(xiàng)目端口號
          server.port=8080
          #?Spring?Boot?Admin?監(jiān)控服務(wù)器端地址
          spring.boot.admin.client.url=http://localhost:9001

          其中“spring.boot.admin.client.url”為 SBA 監(jiān)控地址。

          3.SpringBootAdmin監(jiān)控總覽

          配置完以上信息之后,此時查看 Spring Boot Admin 頁面中就有被監(jiān)控的 Spring Boot 項(xiàng)目了,如下圖所示:也可以點(diǎn)擊“應(yīng)用墻”查看 Spring Boot Admin 中所有被監(jiān)控的 Spring Boot 項(xiàng)目,如下圖所示:點(diǎn)擊應(yīng)用進(jìn)入詳情頁面,如下圖所示:事件日志中包含 Spring Boot 各種狀態(tài)的展示(UP 為正常、OFFLINE 為異常)和發(fā)生的時間,如下圖所示:

          4.SpringBoot異常監(jiān)控

          當(dāng)我們手動把被監(jiān)控的 Spring Boot 項(xiàng)目停止之后,在 Spring Boot Admin 中就可以查看到一個應(yīng)用已經(jīng)被停掉了,如下圖所示:我們也可以通過事件日志查看 Spring Boot 宕機(jī)的具體時間,如下圖所示:

          5.配置查看更多監(jiān)控項(xiàng)

          通過上面的內(nèi)容我們可以看出,監(jiān)控的 Spring Boot 選項(xiàng)還是比較少的,怎么才能查看更多的監(jiān)控項(xiàng)呢?要解決這個問題,我們需要在被監(jiān)控的 Spring Boot 項(xiàng)目中添加 spring-boot-starter-actuator 框架的支持,并開啟查看所有監(jiān)控項(xiàng)的配置才行,最終展示效果如下:接下來我們來配置一下這些監(jiān)控項(xiàng)。

          5.1 添加actuator框架支持

          在被監(jiān)控的 Spring Boot 項(xiàng)目中添加 actuator 框架支持,也就是在 pom.xml 中添加以下配置:

          <dependency>
          ????<groupId>org.springframework.bootgroupId>
          ????<artifactId>spring-boot-starter-actuatorartifactId>
          dependency>

          手動點(diǎn)擊 Maven 導(dǎo)入依賴包(如果開啟了自動導(dǎo)入,此步驟可忽略)。

          5.2 配置開放所有監(jiān)控項(xiàng)

          在被監(jiān)控的 Spring Boot 項(xiàng)目中添加以下配置:

          #?開啟監(jiān)控所有項(xiàng)
          management.endpoints.web.exposure.include=*

          以上的配置是開放監(jiān)控所有選項(xiàng),配置完之后,重啟此 Spring Boot 項(xiàng)目,然后再刷新 Spring Boot Admin 更多的監(jiān)控項(xiàng)就展示出來了,如下圖所示:

          5.3 監(jiān)控項(xiàng)目預(yù)覽

          將 Spring Boot 的所有監(jiān)控項(xiàng)都開啟之后,通過 SBA 就可以查看以下內(nèi)容了:

          • 啟動時間、累計運(yùn)行時間;
          • 進(jìn)程和線程數(shù)量和占用的 CPU 資源;
          • 垃圾回收詳情信息,回收次數(shù)和花費(fèi)時間;
          • JVM 線程轉(zhuǎn)儲、內(nèi)存轉(zhuǎn)儲詳情和對應(yīng)的文件下載;
          • 可以查看和配置 Spring Boot 項(xiàng)目中的日志級別;
          • 查看 Spring Boot 項(xiàng)目性能監(jiān)控;
          • 查看 Spring Boot 運(yùn)行環(huán)境信息;
          • 查看 Spring Boot 所有類信息;
          • 查看 Spring Boot 中的定時任務(wù);
          • 查看和管理 Spring Boot 項(xiàng)目中的所有緩存。

          以下是幾個重要頁面的截圖,我們一起來看。

          5.3.1 查看運(yùn)行環(huán)境

          5.3.2 查看定時任務(wù)

          image.png

          5.3.3 項(xiàng)目日志級別配置

          我們可以通過 Spring Boot Admin 來動態(tài)的配置項(xiàng)目中的日志級別。

          5.3.4 JVM線程和內(nèi)存查看

          image.png

          5.3.5 查看SpringBoot所有緩存

          當(dāng)然我們還可以對這些緩存進(jìn)行刪除操作。

          6.查看項(xiàng)目實(shí)時日志

          想要查看監(jiān)控項(xiàng)目中的日志信息,有一個前提條件,前提條件是你被監(jiān)控的 Spring Boot 項(xiàng)目,必須配置了日志的保存路徑或者日志保存文件名,只有配置這兩項(xiàng)中的任意一項(xiàng),你的 Spring Boot 項(xiàng)目才會將日志保存到磁盤上,這樣才能通過 SBA 查看到,我配置的是日志路徑,在 Spring Boot 的 application.properties 配置文件中添加以下配置:

          #?設(shè)置日志保存路徑
          logging.file.path=C:\\work\\log

          設(shè)置完成之后,重啟你的 Spring Boot 項(xiàng)目,然后刷新 SBA 頁面,最終展示效果如下:此時我們就可以查看實(shí)時的日志信息了,當(dāng)然你也可以隨時下載日志,如果需要的話。

          總結(jié)

          Spring Boot Admin(SBA)是一個社區(qū)開源項(xiàng)目,用于管理和監(jiān)視 Spring Boot 應(yīng)用程序,它提供詳細(xì)的健康 (Health)信息、內(nèi)存信息、JVM 系統(tǒng)和環(huán)境屬性、垃圾回收信息、日志設(shè)置和查看、定時任務(wù)查看、Spring Boot 緩存查看和管理等功能。

          我們需要創(chuàng)建一個 SBA 服務(wù)器端用來監(jiān)控一個或多個 Spring Boot 項(xiàng)目,被監(jiān)控的 Spring Boot 項(xiàng)目要添加 SBA Client 框架的支持,且添加 actuator 框架和相應(yīng)的配置,就可以實(shí)現(xiàn)對 Spring Boot 項(xiàng)目的完美監(jiān)控了。


          沒有什么使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不系之舟

          推薦閱讀

          瀏覽 36
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  卡一卡二在线视频 | 欧美A级黄片 | 大香蕉网欧美 | 黑人巨吊碰碰 | 白丝自慰在线 |