概述
转载自:https://blog.csdn.net/alinyua/article/details/80009435
spring boot 2.0 Actuator与之前版本有较大不同。上网查看了一圈,上篇文章比较靠谱。(英文差,不看官方文档,专走野路子)
下面是简捷说明:
1.开启Actuator:
按以下配置为Maven项目添加执行器:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
2. 端点(Endpoints)
执行器端点(endpoints)可用于监控应用及与应用进行交互,Spring Boot包含很多内置的端点,你也可以添加自己的。例如,health端点提供了应用的基本健康信息。
每个端点都可以启用或禁用。这控制着端点是否被创建,并且它的bean是否存在于应用程序上下文中。要远程访问端点,还必须通过JMX或HTTP进行暴露,大部分应用选择HTTP,端点的ID映射到一个带/actuator
前缀的URL。例如,health端点默认映射到/actuator/health
。
注意:
Spring Boot 2.0的端点基础路径由“/”调整到”/actuator”下,如:/info
调整为/actuator/info
可以通过以下配置改为和旧版本一致:
management.endpoints.web.base-path=/
2.1 启用端点
默认情况下,除shutdown以外的所有端点均已启用。要配置单个端点的启用
,请使用management.endpoint.<id>.enabled
属性。以下示例启用shutdown端点:
management.endpoint.shutdown.enabled=true
另外可以通过management.endpoints.enabled-by-default
来修改全局端口默认配置,以下示例启用info端点并禁用所有其他端点:
management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true
2.2 暴露端点
由于端点可能包含敏感信息,因此应仔细考虑何时公开它们。下表显示了内置端点的默认曝光:
ID | JMX | Web |
---|---|---|
auditevents | Yes | No |
beans | 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 |
jolokia | Yes | No |
logfile | Yes | 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属性列出了公开的端点的ID,exclude属性列出了不应该公开的端点的ID
exclude属性优先于include属性。包含和排除属性都可以使用端点ID列表进行配置。
注意
这里的优先级是指同一端点ID,同时出现在include属性表和exclude属性表里,exclude属性优先于include属性,即此端点没有暴露
例如,要停止通过JMX公开所有端点并仅公开health和info端点,请使用以下属性:
management.endpoints.jmx.exposure.include=health,info
*
可以用来选择所有端点。例如,要通过HTTP公开除env和beans端点之外的所有内容,请使用以下属性:
management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans
最后
以上就是甜甜糖豆为你收集整理的Spring Boot 2.0 之 Actuator的全部内容,希望文章能够帮你解决Spring Boot 2.0 之 Actuator所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复