SpringBoot:Actuator 監控管理工程各項資訊

  • 2019 年 10 月 7 日
  • 筆記

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/u011314442/article/details/101111791

在微服務體系中,有很多工程相互作用,如果其中某一個Down 了,可能就不是那麼容易快速定位 bug 所屬了。

此時服務的監督、管理就顯得很有意義了。

SpringBoot 提供了 Actuator ,用以簡單方便的對工程進行各項資訊的監控、管理、查看…

1. 建一個 springboot 的工程:actuator。(springcloud 對 actuator 有擴展,但它是 springboot 就有的。)

工程結構如下:

2. 引入依賴:

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

完整 pom.xml 為:

<?xml version="1.0" encoding="UTF-8"?>  <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"           xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">      <modelVersion>4.0.0</modelVersion>        <groupId>springcloud-actuator</groupId>      <artifactId>actuator</artifactId>      <version>0.0.1-SNAPSHOT</version>      <name>actuator</name>      <description>監控、管理項目</description>        <parent>          <groupId>com.base</groupId>          <artifactId>base-config</artifactId>          <version>0.0.1-SNAPSHOT</version>      </parent>        <dependencies>          <dependency>              <groupId>org.springframework.boot</groupId>              <artifactId>spring-boot-starter-actuator</artifactId>          </dependency>            <dependency>              <groupId>org.springframework.boot</groupId>              <artifactId>spring-boot-starter-test</artifactId>              <scope>test</scope>          </dependency>      </dependencies>        <build>          <plugins>              <plugin>                  <groupId>org.springframework.boot</groupId>                  <artifactId>spring-boot-maven-plugin</artifactId>              </plugin>          </plugins>      </build>    </project>

3. 配置文件:

# 項目名  spring.application.name= actuator    # 埠  server.port= 5555    # 暴露各個端點 ,默認只暴露 2 個端點:health、info 。  management.endpoints.web.exposure.include= *    # health 細節默認不顯示,開啟顯示  management.endpoint.health.show-details= always

4. 啟動工程,提示有15個端點暴露:

5. 請求actuator 工程,查看運行狀態、相關配置、資訊 …

另一個工程資訊:(對 actuator 的使用完全一樣:pom 依賴和配置一樣。只是工程業務內容不一樣,資訊更加豐富。)

還可查看當前工程的具體資訊:

6. 左例 (ID列),即為各個端點名,Description 為對應詳細解說。紅框選中的是上面已經體驗過的幾種端點 。

以此方式,通過對各個暴露端點的訪問,可隨時監控工程,甚至是自動調整 。

6. 更多詳細說明見 springboot 文檔:

https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/htmlsingle/#production-ready

7. 程式碼地址:

https://gitee.com/FJ_WoMenDeShiJie/springcloud-actuator

也推薦另一文:Springboot:監控與管理 Actuator