1. 概述
- 打開 Spring Boot Actuator 的 Web 訪問
2. 場景
- 之前看 Spring 的時候, 曾經想了解當時的配置
- 后來發現, 確實有這么個工具
- 剛開始發現, 除了 actuator, 別的也看不了什么
3. 環境
-
os
- win10
-
jdk
- 1.8
-
ide
- ida 2018.1
-
spring
- spring boot
- 2.0.4 release
- 組件
- thymeleaf
- starter-web
- devtool
- starter-test
- actuator
- spring boot
-
browser
- firefox
- 70.0
- firefox
-
ref
- spring boot in action
4. 問題
-
參考書
-
ref
- spring boot in action
-
書上說
- 書上列了一堆 url
- 感覺可以看很多事
- 書上列了一堆 url
-
-
問題
- 我試了一圈, 就 3 個 url 能用
- \actuator
- \health
- \info
- 我試了一圈, 就 3 個 url 能用
-
但是書上給我的感覺, 好像都是配上就好了
- 也不知道為啥
- 又要開始找開關
5. 解決
-
嘗試找 官方文檔
-
找到了 api
-
看到了 清一色的 Yes
- 我陷入了沉思
- 為啥我就臉黑老是
- 我陷入了沉思
-
-
再往下看
-
發現了另一個表格
- 發現 yes 的都是 jmx
- 而 web 那塊, 又都是 清一色的 no
-
好了, 確認是配置沒開
- 那到底怎么打開呢
-
6. 開關
-
配置
management.endpoints.web.exposure.include=*
-
重啟
-
結果
- 管理 url 都可以訪問了
7. 其他
-
actuator 的訪問方式
- jmx
- web
-
enable 和 expose
-
概述
- 這倆概念, 我一開始搞混了
-
enable
- 解釋
- 開啟
- 開啟, 是 jmx 和 web 訪問的前提
- 開啟
- 解釋
-
expose
- 解釋
- 暴露
- 需要開啟
- 只有暴露對應方式, 才可以訪問
- 暴露
- exclude 和 include
- exclude
- 排除特定的 url
- include
- 開啟特定的 url
- exclude
- 解釋
-
-
配置
-
默認配置
# 結合官方文檔上面的表格, jmx 確實全開, web 確實只開了 info 和 health management.endpoints.jmx.exposure.exclude=* management.endpoints.jmx.exposure.include=* management.endpoints.web.exposure.exclude=* management.endpoints.web.exposure.include=info, health
-
配置
- 思路
- 文檔上解釋的, 是 exclude 優先
- 但是實際上看起來, 是 后面的配置, 會覆蓋前面的配置
- 具體的配置, 我也不細說了
- 思路
-
ps
-
ref
-
其他
- 感覺這玩意, 功能還很多, 以后可以仔細學學