Spring Spring Boot Spring Boot Actuator Actuator 監控

Spring Boot Actuator監控簡介

李佳樺 2018/10/16 13:14:55
3772

Spring Boot Actuator監控簡介


簡介

Actuator是Spring Boot提供的對應用系統的自省和監控的集成功能,可以查看應用配置的詳細信息,例如自動化配置信息、創建的Spring beans以及一些環境屬性等。

作者

李佳樺


1.    簡介

 

ActuatorSpring Boot提供的對應用系統的自省和監控的集成功能,

可以查看應用配置的詳細信息,例如自動化配置信息、創建的Spring beans 

以及一些環境屬性等。

Spring Boot Actuator端點通過 JMX HTTP 公開暴露給外界訪問,

大多數時候我們使用基於HTTPActuator端點,因為它們很容易通過瀏覽器、 

CURL命令、shell腳本等方式訪問。

 

     Actuator 提供了 13 個接口,具體如下表所示:

路徑

描述

/health

展示系統的各種組件運行狀態、硬碟使用狀況

/metrics

統計系統當前的一些即時信息,如:該系統接收了多少個請求、cache命中率、mq中有多少條信息待處理、CPU使用率、內存占用情況等。

/metrics/{name}

報告指定名稱的應用進程度量值

/dump

當前系統中線程的詳細信息

/env

展示系統變量 和 springboot的應用變量

/env/{name}

根據名稱獲取特定的環境屬性值

/trace

顯示最近的http請求的request、response對(默認最多緩存100條)

/autoconfig

展示所有auto-configuration候選者及它們被應用或未被應用的原因

/info

顯示應用自定義的信息:如該應用的聯繫人、名稱、版本等

/configprops

顯示所有被@ConfigurationProperties mark的Bean的信息列表

/mappings

顯示所有@RequestMapping mark 的url list

/shutdown

允許以POST方式關閉應用,要求endpoints.shutdown.enabled設置為true

/beans

顯示該應用中所有Spring Beans的完整信息,包括依賴了哪些bean、是singleton還是prototype

 

2.      開發環境

 

IDEintelliJ IDEA

Java 版本:1.8

Maven4.0.0

Spring Boot1.5.9.RELEASE

 

3.      實作

      Actuator 監控只需要添加以下依賴就可以完成
 

 

但為了保證actuator暴露的監控接口的安全性,需要添加安全控制的依賴

spring-boot-start-security,訪問應用監控端點時,都需要輸入驗證信息。

Security 依賴,可以選擇不加,不進行安全管理,但不建議這麼做。

 

      
      相關配置
 
      如要開啟所以端點權限,如下設定
         endpoints.sensitive=false

 

設定完成,啟動Server,可以看到瀑露的Endpoint

 

 

以下針對metrics作一下展示

 

      Local測試網址:http://127.0.0.1:7001/metrics    
     返回信息如下: 
 


排序之後的部份信息:

metrics最重要的監控內容之一,主要監控了JVM內容使用、GC情況、類加載信息等。

 

4.      進階使用Spring Admin Server

       Actuator 返回的監控資料都是以JSON串的形式進行返回的, 對於維運人員,
 
      不是很直覺,而當需要監控的應用越來越多時,依次 去訪問對應的應用也過於
 
      繁瑣和低效了。
 
      Spring Boot Admin是一個管理和監控Spring Boot應用程序的開源軟體,
 
      每個應用都認為是一個客戶端,通過HTTP或者服務註冊發現Spring Cloud
 
      (Eureka、Consul等等) 註冊到admin server中進行展示,
 
      Spring Boot Admin UI部分 使用AngularJs將資料展示在 前端。
      點選「Details」即可查看Actuator 監控的Json資料以UI畫面呈現,
 
       更容易閱讀有利於維運作業的進行和提升效率。
 
       PS. 因本文為Actuator簡介,就不針對Spring Boot Admin作詳述,之後再補文。
 

5.      總結

        本文只針對Spring Boot Actuator的功能作一些簡介,還有很多自定可以作設定,
 
        可幫助你在應用進程生產環境時監視和管理應用進程。
 
         可以使用HTTP的各種請求來監管,審計,收集應用的運行情況, 特別對於
 
       微服務管理十分有意義。
 
李佳樺