3.2.2 application.properties配置
对于Spring Boot 2.x而言,如果需要集成Prometheus,那么application.properties的建议配置如下。
spring.application.name=Demo # 指定服务的名称 management.metrics.tags.application=${spring.application.name} # metrics应用指向 # 上一行的demo management.endpoints.web.exposure.include=* management.endpoints.web.exposure.exclude = env,beans management.endpoint.shutdown.enabled=true management.metrics.export.simple.enabled=false
上述配置中,management.endpoint.shutdown.enabled=true用于对spring-boot-starter-actuator远程关闭服务进行配置,可以通过如下命令远程关闭Spring Boot微服务。
curl -X POST http:// localhost:8080/actuator/shutdown
Spring Boot官方文档的Actuator Security安全模块中有一段英文描述:“For security purposes,all actuators other than/health and/info are disabled by default.The management.endpoints.web.exposure.include property can be used to enable the actuators.”意思是出于安全考虑,默认情况下禁用除/health和/info之外的所有actuator,可用management.endpoints.web.exposure.include属性启用actuator。也就是说,actuator默认只开启了info和health,如果想要使用其他功能,需要在配置中添加类似如下的代码。
management.endpoints.web.exposure.include = * management.endpoints.web.exposure.exclude = env,beans
如果Spring Security位于classpath上且没有其他WebSecurityConfigurerAdapter,那么除了/health和/info之外的所有actuator都由Spring Boot自动配置保护。如果自定义了WebSecurityConfigurerAdapter,Spring Boot自动配置将不再生效,用户可以完全控制actuator的访问规则。
在设置management.endpoints.web.exposure.include之前,应确保暴露的actuator没有包含敏感信息,或者已经得到防火墙、Spring Security之类的保护。
Micrometer还附带一个简单的内存后端,如果没有配置其他注册表,该后端将自动用作备份。这允许用户查看在Metrics端点中收集了哪些指标。一旦使用任何其他可用后端,内存后端就会禁用自己。它的默认值为true,用户也可以用如下命令显式禁用它。
management.metrics.export.simple.enabled=false