中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring boot actuator監控的示例分析

發布時間:2021-10-27 15:29:04 來源:億速云 閱讀:228 作者:小新 欄目:開發技術

這篇文章主要介紹了spring boot actuator監控的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

spring boot actuator介紹

  • Spring Boot包含許多其他功能,可幫助您在將應用程序推送到生產環境時監視和管理應用程序。

  • 您可以選擇使用HTTP端點或JMX來管理和監視應用程序。

  • 審核,運行狀況和指標收集也可以自動應用于您的應用程序。

總之Spring Boot Actuator就是一款可以幫助你監控系統數據的框架,其可以監控很多很多的系統數據,它有對應用系統的自省和監控的集成功能,可以查看應用配置的詳細信息,如:

  • 顯示應用程序員的Health健康信息

  • 顯示Info應用信息

  • 顯示HTTP Request跟蹤信息

  • 顯示當前應用程序的“Metrics”信息

  • 顯示所有的@RequestMapping的路徑信息

  • 顯示應用程序的各種配置信息

  • 顯示你的程序請求的次數 時間 等各種信息

等等等等…總之很成熟,很強大.

使用介紹:

1. 先在pom.xml中添加依賴:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

對于Gradle,請使用以下聲明:

dependencies {

         compile("org.springframework.boot:spring-boot-starter-actuator")

}

2. 所有的監控端點endpoints介紹:

ID描述
auditevents公開當前應用程序的審核事件信息。
beans顯示應用程序中所有Spring bean的完整列表。
caches暴露可用的緩存。
conditions顯示在配置和自動配置類上評估的條件以及它們匹配或不匹配的原因。
configprops顯示所有的整理列表@ConfigurationProperties,查看配置屬性,包括默認配置
env露出Spring的屬性的各種環境變量,后面可跟/{name}查看具體的值
flyway顯示已應用的任何Flyway數據庫遷移。
health顯示應用健康信息,在spring boot2.0以后需要在配置里show-details打開所有健康信息
httptrace顯示HTTP跟蹤信息(默認情況下,最后100個HTTP請求 - 響應交換),2.0以后需要手動打開
info顯示任意應用信息,是在配置文件里自己定義的
integrationgraph顯示Spring Integration圖。
loggers顯示和修改應用程序中記錄器的配置。
liquibase顯示已應用的任何Liquibase數據庫遷移。
metrics顯示當前應用程序的“指標”信息,比如內存用量和HTTP請求計數,后可跟/{name}查看具體值
mappings顯示所有@RequestMapping路徑的整理列表。
scheduledtasks顯示應用程序中的計劃任務。
sessions允許從Spring Session支持的會話存儲中檢索和刪除用戶會話。使用Spring Session對響應式Web應用程序的支持時不可用
shutdown允許應用程序正常關閉。
threaddump執行線程轉儲。

如果您的應用程序是Web應用程序(Spring MVC,Spring WebFlux或Jersey),則可以使用以下附加端點:

ID描述
heapdump返回hprof堆轉儲文件。
jolokia通過HTTP公開JMX bean(當Jolokia在類路徑上時,不適用于WebFlux)。
logfile返回日志文件的內容(如果已設置logging.file或logging.path屬性)。支持使用HTTP Range標頭檢索部分日志文件的內容。
prometheus以可以由Prometheus服務器抓取的格式公開指標。

注意事項:

1.在spring boot 2.0以后,actuator默認只開啟了info和health兩個端點,要想使用其他的端點,需要在application.yml中打開:

management:

   endpoints:

     web:

        exposure:

           include:"*"

注意:

在這里include: “*” ,這個"“雙引號是必須要,在application.properties是不需要”"雙引號的,application.properties中是這樣的:management.endpoints.web.exposure.include=*

3.而且所有的端點都以默認的路徑http://localhost:8080/actuator 開始;

如我們查看info端點的信息就是訪問:http://localhost:8080/actuator/info

4.Timestamps時間戳: 端點消耗的所有時間戳(作為查詢參數或在請求正文中)必須格式化為ISO 8601中指定的偏移日期和時間 。 默認的時間戳是跟我們中國的時區不符合的.

5.actuator的大部分監控請求都是以get請求的.只有少數是post請求.

6.如果想更改默認的actuator啟動路徑,可以在application.yml中更改,如我們改成 http://localhost:8080/

#調整端點的前綴路徑為/

  management:

      endpoints:

         web:

            base-path: /

并且health端點的信息默認也是顯示的不具體的,請看默認的health是顯示的什么:

spring boot actuator監控的示例分析

"UP"就是安全健康的,"DOWN"就是有問題了.

7.在application.yml中開啟所有的Heanth監控數據:

management:

    endpoint:

         health:

            show-details:always  #顯示健康具體信息  默認不會顯示詳細信息

我的application.yml是這樣的:

spring boot actuator監控的示例分析

現在你可以開啟服務,試試這些端點的監控數據,因為我已經把監控的路徑改成了 http://localhost:8088 了.所以可以直接在后面跟端點的名稱,如果你沒有更改路徑,默認的啟動路徑是 http://localhost:8088/actuator/ ,然后后面才跟你要監控的端點名稱:

http://localhost:8088/metrics

http://localhost:8088/mappings

端點Metrics監控的數據結果如下

spring boot actuator監控的示例分析

這些數據都是可以監控到的,“磁盤使用率”,這個是我自定義的metrics端點信息,在下面的文章中我會教大家怎么自定義你想要的端點,如果你想看更具體的請在路徑后面加上你要看的數據,/{name},如:
http://localhost:8088/metrics/jvm.memory.used

spring boot actuator監控的示例分析

自定義info信息:

在pom.xml中添加依賴,可以訪問到pom.xml的信息,如果不加這個,你在application.yml中定義的info信息是不會獲取到的:

<plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-resources-plugin</artifactId>

    <version>2.6</version>

    <configuration>

        <delimiters>

            <delimiter>@</delimiter>

        </delimiters>

        <useDefaultDelimiters>false</useDefaultDelimiters>

    </configuration>

</plugin>

在application.yml中這樣配置:

#自定義info端點查看應用相關的信息
  info:
    encoding:
      @project.build.sourceEncoding@
    traget:
      @java.version@
    name:
      @project.name@
    description:
     @project.description@

訪問 http://localhost:8088/info ,運行結果為:

spring boot actuator監控的示例分析

但是如果你只想打開某個端點,我們是這樣的配置的,同樣式在application.yml中:

management:

    endpoint:

          端點名稱:

              enabled: true

使用Spring Security來保證Actuator Endpoints安全:

在pom.xml中添加依賴:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-security</artifactId>

</dependency>

在application.yml中這樣配置:這里是在spring boot2.0以后的版本中,在2.0之前不是這樣的,稍微有差別:

 # http安全機制
    security:
      user:
        name: li
        password: 123
        roles: ADMIN

然后啟動你的服務,你會發現有個登錄頁面,需要你輸入我們配置的賬號密碼:

spring boot actuator監控的示例分析

需要注意,spring boot2.0以后和之前的Security配置有所不同,我有一篇文章提到了!!!

自定義端點:

首先自定義健康監測的端點Health:

自定義健康監測的端點有兩種方式:

1.繼承AbstractHealthIndicator類2. 實現HealthIndicator接口。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“spring boot actuator監控的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

随州市| 钟山县| 无为县| 吉木萨尔县| 灌云县| 聂拉木县| 巴南区| 钟山县| 溧阳市| 广安市| 江山市| 长寿区| 大荔县| 彰武县| 韶山市| 阆中市| 湘西| 新晃| 锦屏县| 儋州市| 武胜县| 黎平县| 堆龙德庆县| 台江县| 宝丰县| 敖汉旗| 西充县| 彭泽县| 斗六市| 洪江市| 孝义市| 德庆县| 大名县| 鄱阳县| 托里县| 巢湖市| 乐业县| 贵德县| 上高县| 安丘市| 娱乐|