Spring Boot 参考指南(通过JMX监控和管理)

52. 通过JMX监控和管理

Java管理扩展(JMX)提供了一种监视和管理应用程序的标准机制,默认情况下,Spring Boot将管理端点公开为org.springframework.boot域中的JMX mbean。

52.1 自定义MBean的名字

MBean的名称通常是由端点的id生成的,例如,health端点公开为org.springframework.boot:type=Endpoint,name=Health

如果你的应用程序包含多个Spring ApplicationContext,你可能会发现名称冲突,要解决这个问题,可以设置management.endpoints.jmx.unique-names属性为true,这样MBean名称总是唯一的。

你还可以自定义在其中暴露端点的JMX域,下面的设置显示了application.properties中的一个示例:

management.endpoints.jmx.domain=com.example.myapp
management.endpoints.jmx.unique-names=true

52.2 禁用JMX端点

如果不希望在JMX上公开端点,您可以设置management.endpoints.jmx.exposure.exclude属性为*,如下例所示:

management.endpoints.jmx.exposure.exclude=*

52.3 使用Jolokia通过HTTP实现JMX

Jolokia是一个JMX-http桥梁,它提供了访问JMX bean的另一种方法,使用Jolokia,引入org.jolokia:jolokia-core的依赖,例如,使用Maven,你将添加以下依赖项:

<dependency>
    <groupId>org.jolokia</groupId>
    <artifactId>jolokia-core</artifactId>
</dependency>

然后可以通过在management.endpoints.web.exposure.include属性中添加Jolokia*来公开Jolokia端点,然后,你可以使用/actuator/jolokia在你的管理HTTP服务器上访问它。

52.3.1 定制Jolokia

Jolokia有许多设置,你通常通过设置servlet参数来配置它们,使用Spring Boot,你可以使用你的application.properties文件,为此,在参数前面加上management.endpoint.jolokia.config.,如下例所示:

management.endpoint.jolokia.config.debug=true

52.3.2 禁用Jolokia

如果你使用Jolokia但不希望Spring Boot配置它,设置management.endpoint.jolokia.enabled属性为false,如下所示:

management.endpoint.jolokia.enabled=false
    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000015355526
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞