1.启用端点
默认情况下,除了shutdown端点是关闭的,其它的都是启用的。配置一个端点的启用,使用management.endpoint..enabled属性,下面的例子是启用shutdown端点:
management.endpoint.shutdown.enabled=true
如果你个人更喜欢自定义端点的启用和关闭,可以使用如下属性
management.endpoints.enabled-by-default=false
关闭所有端点启用情况,个人可以单独的通过设置enabled属性启用端点;下面的示例示关闭所有的端点,并且请用info端点:
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
禁用端点端点会被从ApplicationContext上下文中删除,如果只是想从技术上更改端点的暴露,可以使用include和exclude属性替代。
2.暴露端点
由于端点可能包含敏感信息,应该仔细的考虑什么时候暴露它们,下面的表格展示了内置端点的暴露情况:
| ID | JMX | Web |
|---|---|---|
| auditevents | Yes | No |
| beans | Yes | No |
| caches | Yes | No |
| conditions | Yes | No |
| configprops | Yes | No |
| env | Yes | No |
| flyway | Yes | No |
| health | Yes | Yes |
| heapdump | N/A | No |
| httptrace | Yes | No |
| info | Yes | Yes |
| integrationgraph | Yes | No |
| jolokia | N/A | No |
| logfile | N/A | No |
| loggers | Yes | No |
| liquibase | Yes | No |
| metrics | Yes | No |
| mappings | Yes | No |
| prometheus | N/A | No |
| scheduledtasks | Yes | No |
| sessions | Yes | No |
| shutdown | Yes | No |
| threaddump | Yes | No |
去改变将那个端点暴露出来,可以使用特定的技术include和exclude属性:
| Property | Default |
|---|---|
| management.endpoints.jmx.exposure.exclude | |
| management.endpoints.jmx.exposure.include | * |
| management.endpoints.web.exposure.exclude | |
| management.endpoints.web.exposure.include | info, health |
include属性列出暴露端点的IDS,exclude属性列出不应该暴露端点的IDS;exclude属性的优先级高于include属性,include和exclude属性都可以使用端点列表来配置IDS.
例如:停止公开所有在JMX上公开的端点,只公开info和health两个端点,使用如下属性:
management.endpoints.jmx.exposure.include=health,info
* 可以用来表示所有的端点,例如,通过HTTP公开所有的端点,除了env和beans端点,使用如下的属性:
management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans
* 在YAML中有特殊的含义,所以如果想使用include或者exclude包含所有的端点时要加上双引号,如下示例:
management:
endpoints:
web:
exposure:
include: "*"
如果你要暴露你的端点为public,我们强烈的建议你使用加密。
如果暴露端点的时候想实现在自己的策略,你可以注册一个EndpointFilter bean。
参考:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
本文详细介绍了如何在Spring Boot中配置管理端点,包括端点的启用与禁用、暴露方式的选择,以及如何通过include和exclude属性进行精确控制。同时,文章提供了具体的配置示例,帮助读者理解如何应用这些属性。

2429

被折叠的 条评论
为什么被折叠?



