Update spring_boot_actuator.md

master
qibaoguang 2015-03-02 00:14:46 +08:00
parent 9c3991f768
commit f65c3ed0c7
1 changed files with 67 additions and 2 deletions

View File

@ -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
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
```
在你的管理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来进行监控和管理