最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring Boot應(yīng)用監(jiān)控的實(shí)戰(zhàn)教程

 更新時(shí)間:2018年05月03日 10:49:40   作者:hansonwang99  
Spring Boot 提供運(yùn)行時(shí)的應(yīng)用監(jiān)控和管理功能,下面這篇文章主要給大家介紹了關(guān)于Spring Boot應(yīng)用監(jiān)控的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

概述

Spring Boot 監(jiān)控核心是 spring-boot-starter-actuator 依賴,增加依賴后, Spring Boot 會(huì)默認(rèn)配置一些通用的監(jiān)控,比如 jvm 監(jiān)控、類加載、健康監(jiān)控等。

我們之前講過Docker容器的可視化監(jiān)控,即監(jiān)控容器的運(yùn)行情況,包括 CPU使用率、內(nèi)存占用、網(wǎng)絡(luò)狀況以及磁盤空間等等一系列信息。同樣利用SpringBoot作為微服務(wù)單元的實(shí)例化技術(shù)選型時(shí),我們不可避免的要面對(duì)的一個(gè)問題就是如何實(shí)時(shí)監(jiān)控應(yīng)用的運(yùn)行狀況數(shù)據(jù),比如:健康度、運(yùn)行指標(biāo)、日志信息、線程狀況等等。本文就該問題做一點(diǎn)探索并記錄試驗(yàn)過程。

入門使用:Actuator插件

Actuator插件是SpringBoot原生提供的一個(gè)服務(wù),可以通過暴露端點(diǎn)路由,用來輸出應(yīng)用中的諸多 端點(diǎn)信息。實(shí)戰(zhàn)一下!

pom.xml中添加依賴:

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

啟動(dòng)Spring Boot應(yīng)用程序之后,只要在瀏覽器中輸入端點(diǎn)信息就能獲得應(yīng)用的一些狀態(tài)信息。

常用端點(diǎn)列舉如下,可以一個(gè)個(gè)詳細(xì)試一下:

  • /info        應(yīng)用基本信息
  • /health       健康度信息
  • /metrics      運(yùn)行指標(biāo)
  • /env        環(huán)境變量信息
  • /loggers      日志相關(guān)
  • /dump       線程相關(guān)信息
  • /trace       請(qǐng)求調(diào)用軌跡

當(dāng)然此時(shí)只能使用/health 和 /info端點(diǎn),其他因?yàn)闄?quán)限問題無法訪問。想訪問指定端點(diǎn)的話可以在yml配置中添加相關(guān)的配置項(xiàng),比如/metrics端點(diǎn)則需要配置:

endpoints:
 metrics:
 sensitive: false

此時(shí)瀏覽器訪問/metrics端點(diǎn)就能得到諸如下面所示的信息:

{
 "mem": 71529,
 "mem.free": 15073,
 "processors": 4,
 "instance.uptime": 6376,
 "uptime": 9447,
 "systemload.average": -1.0,
 "heap.committed": 48024,
 "heap.init": 16384,
 "heap.used": 32950,
 "heap": 506816,
 "nonheap.committed": 23840,
 "nonheap.init": 160,
 "nonheap.used": 23506,
 "nonheap": 0,
 "threads.peak": 25,
 "threads.daemon": 23,
 "threads.totalStarted": 28,
 "threads": 25,
 "classes": 6129,
 "classes.loaded": 6129,
 "classes.unloaded": 0,
 "gc.copy.count": 74,
 "gc.copy.time": 173,
 "gc.marksweepcompact.count": 3,
 "gc.marksweepcompact.time": 88,
 "httpsessions.max": -1,
 "httpsessions.active": 0
}

當(dāng)然也可以開啟全部端點(diǎn)權(quán)限,只需如下配置即可:

endpoints:
 sensitive: false

由于Actuator插件提供的監(jiān)控能力畢竟有限,而且UI比較簡(jiǎn)陋,因此需要一個(gè)更加成熟一點(diǎn)的工具

Spring Boot Admin監(jiān)控系統(tǒng)

SBA則是基于Actuator更加進(jìn)化了一步,其是一個(gè)針對(duì)Actuator接口進(jìn)行UI美化封裝的監(jiān)控工具。我們來實(shí)驗(yàn)一下。

首先來創(chuàng)建一個(gè)Spring Boot Admin Server工程作為服務(wù)端
pom.xml中加入如下依賴:

<dependency>
 <groupId>de.codecentric</groupId>
 <artifactId>spring-boot-admin-server</artifactId>
 <version>1.5.7</version>
</dependency>

<dependency>
 <groupId>de.codecentric</groupId>
 <artifactId>spring-boot-admin-server-ui</artifactId>
 <version>1.5.7</version>
</dependency>

然后在應(yīng)用主類上通過加注解來啟用Spring Boot Admin

@EnableAdminServer
@SpringBootApplication
public class SpringbtAdminServerApplication {

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

啟動(dòng)程序,瀏覽器打開 localhost:8081 查看Spring Boot Admin主頁(yè)面:

Spring Boot Admin主頁(yè)面

此時(shí)Application一欄空空如也,等待待監(jiān)控的應(yīng)用加入

創(chuàng)建要監(jiān)控的Spring Boot應(yīng)用

pom.xml中加入以下依賴

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

然后在yml配置中添加如下配置,將應(yīng)用注冊(cè)到Admin服務(wù)端去:

spring:
 boot:
 admin:
  url: http://localhost:8081
  client:
  name: AdminTest

Client應(yīng)用一啟動(dòng),Admin服務(wù)立馬推送來了消息,告訴你AdminTest上線了:

應(yīng)用上線推送消息

此時(shí)去Admin主界面上查看,發(fā)現(xiàn)Client應(yīng)用確實(shí)已經(jīng)注冊(cè)上來了:

Client應(yīng)用已注冊(cè)上來

查看Detail

Detail信息

查看 Metrics

Metrics信息

查看 Enviroment

Enviroment信息

查看JMX

JMX信息

查看Threads

Threads信息

查看Trace與詳情

Trace信息

點(diǎn)擊最上方JOURNAL,會(huì)看到被監(jiān)控應(yīng)用程序的事件變化:

應(yīng)用程序的事件變化信息

圖中可以清晰地看到,應(yīng)用從 REGISTRATION → UNKNOWN → UP 的狀態(tài)跳轉(zhuǎn)。

這樣就將Actuator插件提供的所有端點(diǎn)信息在SBA中全部嘗試了一遍。

參考文獻(xiàn)

http://codecentric.github.io/spring-boot-admin/1.5.7/

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • java如何讀取某個(gè)文件夾中的全部文件(包括子文件夾)

    java如何讀取某個(gè)文件夾中的全部文件(包括子文件夾)

    這篇文章主要介紹了java如何讀取某個(gè)文件夾中的全部文件(包括子文件夾),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 排序算法圖解之Java快速排序的分步刨析

    排序算法圖解之Java快速排序的分步刨析

    快速排序是通過一趟排序?qū)⒁判虻臄?shù)據(jù)分割為獨(dú)立的兩個(gè)部分,一部分的所有數(shù)據(jù)比另外一部分的所有數(shù)據(jù)要小,然后按照此方法對(duì)這兩部分分別進(jìn)行快速排序,整個(gè)過程可以遞歸進(jìn)行,以此達(dá)到整個(gè)數(shù)據(jù)變成有序序列。本文通過示例講解了快速排序的實(shí)現(xiàn),需要的可以參考一下
    2022-11-11
  • Spring注解之@Conditional使用解析

    Spring注解之@Conditional使用解析

    這篇文章主要介紹了Spring注解之@Conditional使用解析,@Conditional注解可以說是SpringBoot的條件注解,表示組件只有在所有指定條件都匹配時(shí)才有資格注冊(cè),條件是可以在 bean 定義注冊(cè)之前??以編程方式確定的任何狀態(tài),需要的朋友可以參考下
    2024-01-01
  • Spark學(xué)習(xí)筆記(一)Spark初識(shí)【特性、組成、應(yīng)用】

    Spark學(xué)習(xí)筆記(一)Spark初識(shí)【特性、組成、應(yīng)用】

    這篇文章主要介紹了Spark學(xué)習(xí)筆記之Spark初識(shí),簡(jiǎn)單分析了spark四大特性、基本組成、應(yīng)用場(chǎng)景,需要的朋友可以參考下
    2020-02-02
  • mybatis中方法返回泛型與resultType不一致的解決

    mybatis中方法返回泛型與resultType不一致的解決

    這篇文章主要介紹了mybatis中方法返回泛型與resultType不一致的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Spring Boot Admin實(shí)踐詳解

    Spring Boot Admin實(shí)踐詳解

    在本篇文章里小編給大家整理了關(guān)于Spring Boot Admin實(shí)踐的相關(guān)知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-12-12
  • Java對(duì)Map進(jìn)行按value排序的幾種常見方法

    Java對(duì)Map進(jìn)行按value排序的幾種常見方法

    在日常開發(fā)中,Map 是我們經(jīng)常使用的數(shù)據(jù)結(jié)構(gòu)之一,盡管 Map 是按鍵 (key) 存儲(chǔ)和檢索數(shù)據(jù)的,但有時(shí)我們需要根據(jù) value 進(jìn)行排序,這篇博客將詳細(xì)探討如何在 Java 中對(duì) Map 進(jìn)行按 value 排序的幾種常見方法,并分析它們的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2025-03-03
  • springboot項(xiàng)目編寫發(fā)送異常日志到企微工具包的操作方法

    springboot項(xiàng)目編寫發(fā)送異常日志到企微工具包的操作方法

    本文介紹了Springboot項(xiàng)目如何編寫發(fā)送異常日志到企業(yè)微信的工具包,內(nèi)容包括創(chuàng)建基礎(chǔ)Bean、配置類、pom依賴等步驟,并展示了如何通過nacos進(jìn)行配置,這為開發(fā)者提供了一種有效的日志管理方案,方便快速定位和處理項(xiàng)目中的異常問題,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Java之Mybatis的二級(jí)緩存

    Java之Mybatis的二級(jí)緩存

    本文主要介紹Java中Mybatis的二級(jí)緩存,緩存就是一塊內(nèi)存空間,保存臨時(shí)數(shù)據(jù),它是SqlSessionFactory的緩存,對(duì)Mybaits感興趣的小伙伴可以參考閱讀
    2023-03-03
  • Java實(shí)現(xiàn)監(jiān)聽文件變化的三種方案詳解

    Java實(shí)現(xiàn)監(jiān)聽文件變化的三種方案詳解

    這篇文章主要介紹了Java實(shí)現(xiàn)監(jiān)聽文件變化的三種方法,每種方案給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

宁德市| 平谷区| 福泉市| 谢通门县| 巧家县| 白水县| 盘锦市| 阳谷县| 道孚县| 定安县| 长岛县| 景德镇市| 婺源县| 绥芬河市| 灌南县| 闽清县| 英德市| 定南县| 昌图县| 石景山区| 冕宁县| 曲水县| 兖州市| 印江| 浦县| 嵊州市| 伽师县| 虎林市| 贵德县| 溆浦县| 囊谦县| 阜城县| 盈江县| 翼城县| 永康市| 汉寿县| 武威市| 会昌县| 宜城市| 慈溪市| 茂名市|