- Java管理擴(kuò)展(JMX)提供了一種標(biāo)準(zhǔn)的監(jiān)控和管理應(yīng)用的機(jī)制宜猜。默認(rèn)情況下僵缺,Spring Boot在 org.springframework.boot 域下將管理端點(diǎn)暴露為JMX MBeans虑绵。
自定義MBean名稱
MBean的名稱通常產(chǎn)生于端點(diǎn)的id岛抄。例如,health端點(diǎn)被暴露為org.springframework.boot/Endpoint/HealthEndpoint 允趟。
如果你的應(yīng)用包含多個(gè)Spring ApplicationContext董栽,你會(huì)發(fā)現(xiàn)存在名稱沖突码倦。為了解決這個(gè)問題,你可以將 endpoints.jmx.uniqueNames 設(shè)置為true锭碳,這樣MBean的名稱總是唯一的袁稽。
你也可以自定義JMX域,所有的端點(diǎn)都在該域下暴露擒抛。這里有個(gè)application.properties示例:
endpoints.jmx.domain=myapp
endpoints.jmx.uniqueNames=true
禁用JMX端點(diǎn)
-
如果不想通過JMX暴露端點(diǎn)推汽,你可以將 spring.jmx.enabled 屬性設(shè)置為false:
spring.jmx.enabled=false
使用Jolokia通過HTTP實(shí)現(xiàn)JMX遠(yuǎn)程管理
- Jolokia是一個(gè)JMX-HTTP橋,它提供了一種訪問JMX beans的替代方法歧沪。想要使用Jolokia歹撒,只需添加 org.jolokia:jolokiacore的依賴。
例如诊胞,使用Maven需要添加下面的配置:
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
- 在你的管理HTTP服務(wù)器上可以通過 /jolokia 訪問Jolokia暖夭。
自定義Jolokia
-
Jolokia有很多配置,傳統(tǒng)上一般使用servlet參數(shù)進(jìn)行設(shè)置厢钧。使用Spring Boot鳞尔,你可以在application.properties中通過把參數(shù)加上 jolokia.config. 前綴來設(shè)置:
jolokia.config.debug=true
禁用Jolokia
-
如果你正在使用Jolokia嬉橙,但不想讓Spring Boot配置它早直,只需要簡單的將 endpoints.jolokia.enabled 屬性設(shè)置為false:
endpoints.jolokia.enabled=false