真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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

概述

目前成都創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、西工網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

Spring Boot 監(jiān)控核心是 spring-boot-starter-actuator 依賴,增加依賴后, Spring Boot 會默認(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í)時監(jiān)控應(yīng)用的運(yùn)行狀況數(shù)據(jù),比如:健康度、運(yùn)行指標(biāo)、日志信息、線程狀況等等。本文就該問題做一點(diǎn)探索并記錄試驗(yàn)過程。

入門使用:Actuator插件

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

pom.xml中添加依賴:


 org.springframework.boot
 spring-boot-starter-actuator

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

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

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

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

endpoints:
 metrics:
 sensitive: false

此時瀏覽器訪問/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比較簡陋,因此需要一個更加成熟一點(diǎn)的工具

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

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

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


 de.codecentric
 spring-boot-admin-server
 1.5.7



 de.codecentric
 spring-boot-admin-server-ui
 1.5.7

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

@EnableAdminServer
@SpringBootApplication
public class SpringbtAdminServerApplication {

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

啟動程序,瀏覽器打開 localhost:8081 查看Spring Boot Admin主頁面:

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

Spring Boot Admin主頁面

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

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

pom.xml中加入以下依賴


 de.codecentric
 spring-boot-admin-starter-client
 1.5.7

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

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

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

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

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

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

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

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

查看Detail

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

Detail信息

查看 Metrics

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

Metrics信息

查看 Enviroment

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

Enviroment信息

查看JMX

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

JMX信息

查看Threads

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

Threads信息

查看Trace與詳情

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

Trace信息

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

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

應(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é)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。


分享文章:SpringBoot應(yīng)用監(jiān)控的實(shí)戰(zhàn)教程
新聞來源:http://weahome.cn/article/pchjes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部