From f65c3ed0c745de3a314ac5a2a783e7994931cadb Mon Sep 17 00:00:00 2001 From: qibaoguang Date: Mon, 2 Mar 2015 00:14:46 +0800 Subject: [PATCH] Update spring_boot_actuator.md --- spring_boot_actuator.md | 69 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/spring_boot_actuator.md b/spring_boot_actuator.md index 45541d0..cf6b73f 100644 --- a/spring_boot_actuator.md +++ b/spring_boot_actuator.md @@ -245,9 +245,74 @@ management.port=8081 management.address=127.0.0.1 ``` -### 禁用HTTP端点 +* 禁用HTTP端点 如果不想使用HTTP暴露端点,你可以将管理端口设置为-1: `management.port=-1` -### HTTP Health端点访问限制 +* HTTP Health端点访问限制 + +通过health端点暴露的信息根据是否为匿名访问而不同。默认情况下,当匿名访问时,任何有关服务器的健康详情都被隐藏了,该端点只简单的指示服务器是运行(up)还是停止(down)。此外,当匿名访问时,响应会被缓存一个可配置的时间段以防止端点被用于'拒绝服务'攻击。`endpoints.health.time-to-live`属性被用来配置缓存时间(单位为毫秒),默认为1000毫秒,也就是1秒。 + +上述的限制可以被禁止,从而允许匿名用户完全访问health端点。想达到这个效果,可以将`endpoints.health.sensitive`设为`false`。 + +### 基于JMX的监控和管理 + +Java管理扩展(JMX)提供了一种标准的监控和管理应用的机制。默认情况下,Spring Boot在`org.springframework.boot`域下将管理端点暴露为JMX MBeans。 + +* 自定义MBean名称 + +MBean的名称通常产生于端点的id。例如,health端点被暴露为`org.springframework.boot/Endpoint/HealthEndpoint`。 + +如果你的应用包含多个Spring ApplicationContext,你会发现存在名称冲突。为了解决这个问题,你可以将`endpoints.jmx.uniqueNames`设置为true,这样MBean的名称总是唯一的。 + +你也可以自定义JMX域,所有的端点都在该域下暴露。这里有个application.properties示例: +```java +endpoints.jmx.domain=myapp +endpoints.jmx.uniqueNames=true +``` +* 禁用JMX端点 + +如果不想通过JMX暴露端点,你可以将`spring.jmx.enabled`属性设置为false: +`spring.jmx.enabled=false` + +* 使用Jolokia通过HTTP实现JMX远程管理 + +Jolokia是一个JMX-HTTP桥,它提供了一种访问JMX beans的替代方法。想要使用Jolokia,只需添加`org.jolokia:jolokia-core`的依赖。例如,使用Maven需要添加下面的配置: +```xml + + org.jolokia + jolokia-core + +``` +在你的管理HTTP服务器上可以通过`/jolokia`访问Jolokia。 + +- 自定义Jolokia + +Jolokia有很多配置,传统上一般使用servlet参数进行设置。使用Spring Boot,你可以在application.properties中通过把参数加上`jolokia.config.`前缀来设置: +```java +jolokia.config.debug=true +``` +- 禁用Jolokia + +如果你正在使用Jolokia,但不想让Spring Boot配置它,只需要简单的将`endpoints.jolokia.enabled`属性设置为false: +`endpoints.jolokia.enabled=false` + +### 使用远程shell来进行监控和管理 + + + + + + + + + + + + + + + + +