當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBootAdmin监控信息讲解
生活随笔
收集整理的這篇文章主要介紹了
SpringBootAdmin监控信息讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們搭建了一個SpringBoot Admin監控平臺,用來監控我們的SpringBoot項目,我們的平臺運行以后,現在可以監控到HelloWorld的項目了,其實這個就是我們在運行的SpringBoot-helloworld的項目,APPLICATION這個視圖下http://localhost:9090/#/我們來查看一下詳細信息http://localhost:9090/#/applications/cbadc2b1/details這個時候又跳到了另一個頁面,這個頁面里為我們提供了很多的信息,比如第一個是詳細信息,然后Metrics,還有Environment,還有logging,還有JMX,我們一個一個來看一下,首先是一個details,這里主要是監控應用的詳細信息,你看這里也有Health,這個不就是曾經在我們的項目當中,通過URI,通過他看到的信息,只不過不同的是什么呢,他現在把JSON格式的字符串,在UI當中以視圖的方式來顯示了,我們看起來會更方便一些,比如當前的應用是UP狀態的,然后磁盤的一個空間,有多少可用的,最少需要的臨界值,你的程序在運行的時候,磁盤最少需要多少,還有內存的信息,JVM的信息,現在用這種可視化界面,去查看我們的監控信息,那么對于我們使用者來講,更加一目了然,比我們看JSON字符串的要方便一些,其實Details呢,主要顯示你當前監控應用的基礎信息
Metrics是對我們當前監控的應用,做了一個分明別類上的概念上的統計,比如第一個是classes,當前你的應用運行一共有多少個class運行了,然后有多少個class類加載器在運行,然后沒有加載的class有多少個,對我們class的一個統計
Counter這一塊主要是對我們http請求,做了一個計數的統計,比如請求狀態是200的,200的info有多少個,200以下產生的logger有多少個,我們看一下404的有3個,在我們的項目當中,是不是有一個hello的URI,我們再來訪問一下hello,看spring boot admin看還能不能訪問到,看我們的瀏覽器localhost:8080/hello這個響應回來了,只不過我們這里什么都沒有,是不是多了一個counter.status.200.hello表示你當前請求過一次hello,比如我現在再去請求一次,這個時候hello請求的次數是2了,所以這里主要是統計當前你HTTP請求的一個數量
gauge這個主要是統計什么呢,主要統計響應的一些信息,比如響應hello,有多少其他信息的一個響應,還有堆的dump信息,針對響應去做的統計分析,咱們再往后看
gc對垃圾收集器做了一個統計的分析,像垃圾回收一共做了多少次,在JDK1.8里面用的是scavenge收集器,收集了8次,然后收集的時間是205毫秒,然后marksweep,這個是當前scavenge垃圾收集器里面,用的是什么樣的算法,去做的回收,這里用的是一個標記清除算法,標記清除算法用了兩次,所耗的時間是138毫秒,所以這里是對垃圾回收器的一個統計,然后heap是對堆的一個統計,初始化是多大,然后用了多少,堆的總大小是多少,JVM占用的堆的總大小是多少,堆的總共容量是多少,然后還有httpsessions,你當前被監控的項目產生了多少個Session對象,那么我們現在沒有用到session,我們項目當中并沒有去創建session,產生的session數量是沒有的,激活的session數量也是沒有的,instance.uptime這個是你當前實例所運行的時間,單位也是毫秒,我刷新毫秒數是有變化的,他不是實時的,你每次刷新這個時間都會有變化的
mem是什么呢,就是memory,監控內存的,我們JVM總共占了內存多少空間,現在剩余多少空間,然后還有nonheap,這個是什么呢,非堆內存的一個使用情況,其實JVM除了有堆,還有非堆,這里主要是統計非堆的一些統計信息,processors這個是你當前物理CPU的核心數量,這里寫的是4,表示我當前運行HelloWorld的這個項目,當前硬件CPU的核心數,是4個,然后還有一個systemload,這是什么呢,記錄你當前系統的一個負載量,其實我們被監控的helloworld里面,負載量是很小很小的,主要顯示你當前系統的負載量,然后還有一個threads,當前系統的線程信息,比如threads.peak,你當前系統當中,最高峰值是多少,守護線程是20個,啟動的是28個線程,這是對線程信息的一個統計
uptime你當前程序運行狀態的一個時間,也是毫秒數,能夠被正常運行的一個狀態,通過Metrics里面,對于helloworld的一個統計,應該還是很有用的,感興趣的還可以看看里面詳細的內容
Environment主要是顯示你當前系統的環境,其實Environment里面看到的信息,就是我們之前訪問項目,通過/env,通過這個URI,訪問所得到的信息,不過當時是以JSON格式返回的,而在這里是以視圖,以視圖返回的,可以看到監聽的端口,還有java.runtime.name,還有JRE環境的路徑,版本,這都是一些JVM的信息
logging主要記錄當前哪些類有日志記錄的級別,info的有哪些,哪些類里面用的是info級別的哪些是debug級別的,哪些是warn級別的,然后下面還有更多,顯示了你當前用的類當中,一個日志記錄級別的顯示
JMX是什么呢,大家應該都知道,他是一個管理工具,他的全稱是什么呢,是JAVA管理擴展,他也是一個標準,這個標準下的管理平臺呢,是可以跨越任何操作系統的,操作系統差異的一個影響,它是可以跨所有操作系統的,對于不同操作系統的下的JAVA程序,是可以做一個管理,這里也是當前helloworld的一些監控信息,然后還有一個Threads,其實我們這里看到的信息,是我們之前看到的dump里面的文件信息,請求duump里看到的信息,他都是以JSON格式串來看的,而在springboot admin里面,就是可視化視圖下,RUNNABLE正在運行的線程,然后等待線程又多少個,然后把所有的線程以一個列表的形式,展示出來,并標記每一個線程的一個狀態,比如你可以點他,看一下這個線程,他正在RUNNABLE運行
鎖了多少次,然后還有鎖的時間,還有等待數量,等待時間,所以我們可以通過查看線程的基本信息,也能知道線程的一個狀態,對于dump文件里的一個展示,然后還有一個Audit,就是審計,這里你可以根據你的時間,去做一些相應的統計處理,還有一個Trace,Trace是什么呢,你的被監控的系統,所處理請求的一個顯示,在什么時間,請求了什么,基于什么請求的,狀態是什么,你看這里有一個圖形來顯示,然后如果有錯誤的,就會有錯誤的狀態碼,來顯示出他當前一個響應的狀態,請求的一個狀態,當然你請求的量越多,這個圖當中顯示的數據就越多,后面是你請求的URI
還有一個HeadDump,顯示我們的堆dump信息,它會啟動一個下載,會把監控的dump文件下載,下載之后我們把它解壓,對dump文件進行詳細的分析,JDK當中也有這樣的工具,在這里我們就不去說了,APPLICATIONS一共有這么多的統計項,或者叫管理項,除了Applications,還有一個JOURNAL,JOURNAL主要是顯示日志的信息,我們可以看一看,顯示當前狀態是正常運行的狀態UNKNOWN -> UP我沒有其他的日志顯示,信息比較少
關于SpringBoot Admin信息平臺的顯示,其實Spring boot admin的平臺呢,他用起來還是挺方便的,希望大家多用他去監控程序,比我們用JSON格式的形式去監控,我們程序的健康狀態,當然這種監控方式,我們在做項目的時候,沒有用這種監控,如果你不是做微服務的開發,只是單應用的話,或者服務應用不多的時候,dubbo里面也有這種監控平臺,但是如果我們要做微服務開發,我們未來的服務項會非常的多,項目會非常的多,你要想了解每一個項目,或者每一個服務的狀態,這個時候你需要有一個管理平臺,這個時候我們才能夠通過管理平臺的一個狀態,這也是我們在做微服務開發的時候,非常重要的一個環境,這是平臺顯示的根目錄,根頁面,這里我們可以去點擊Detailshttp://localhost:9090/#/看這些詳細信息,就是這樣的使用方式,那么到目前為止呢
?
總結
以上是生活随笔為你收集整理的SpringBootAdmin监控信息讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBootAdmin项目创建
- 下一篇: 为什么要用RabbitMQ