我们最近在我们的一个应用程序中将Spring-Boot版本升级到2.1.2。当我点击此URL时,我注意到JSON格式发生了变化:http://localhost:xxxx/health。
更改的结构是:{Health:{status:“UP”}}
早些时候是:{status:“UP”}
我的问题是; 1.为什么要修改? 2.是否有任何配置保持以前的结构?
随着Spring Boot 2的发布,Actuator已经过重新设计,并添加了新的令人兴奋的终端。
/actuator/health
端点用于检查正在运行的应用程序的运行状况或状态。它通常由监控软件执行,以提醒我们运行的实例是否因其他原因而关闭或变得不健康。例如。我们的数据库连接问题,磁盘空间不足......
http://localhost:8080/actuator/health
{
status: "UP"
}
Monitoring and Management over HTTP
如果您正在开发Web应用程序,Spring Boot Actuator会自动配置所有已启用的端点以通过HTTP公开。默认约定是使用前缀为/ actuator的端点的id作为URL路径。例如,健康作为/执行者/健康暴露。提示:Spring MVC,Spring WebFlux和Jersey本身支持Actuator。
出于安全考虑,默认情况下禁用除/ health和/ info之外的所有执行器。 management.endpoints.web.exposure.include属性可用于启用执行器。
如果Spring Security位于类路径上且没有其他WebSecurityConfigurerAdapter,则除了/ health和/ info之外的所有执行程序都由Spring Boot自动配置保护。如果您定义了自定义WebSecurityConfigurerAdapter,则Spring Boot自动配置将退回,您将完全控制执行器访问规则。
通过执行器端点,您可以监控应用程序并与之交互。 Spring Boot包含许多内置端点,允许您添加自己的端点。例如,运行状况端点提供基本的应用程序运行状况信息
可以启用或禁用每个端点。它控制是否创建端点并且其bean存在于应用程序上下文中。要进行远程访问,还必须通过JMX或HTTP公开端点。大多数应用程序选择HTTP,其中端点的ID以及/ actuator的前缀映射到URL。例如,默认情况下,运行状况端点映射到/ actuator / health。
使用Spring Boot 2.0改进了从许多端点返回的JSON有效负载。
现在,许多端点都具有更准确地反映基础数据的JSON。例如,/ actuator / conditions端点(Spring Boot 1.5中的/ autoconfig)现在有一个顶级上下文键,用于按ApplicationContext对结果进行分组。
要检索应用程序的运行状况,请对/ actuator / health发出GET请求,如以下基于curl的示例所示:
$ curl 'http://localhost:8080/actuator/health' -i -X GET
实用信息:Baeldung