一、背景描述
今天学习 Spring Boot Actuator 配置属性,其中一个属性(打开所有的监控点)management.endpoints.web.exposure.include=*,看文档说明如下:
我使用的是 SpringBoot Admin monitor 实例,比 Spring Boot Actuator 配置简单,而且有很友好的UI界面,改造SpringBootAdmin的单机版监控工具,适配SpringBootAdmin前端页面的接口,无需再部署Server,本机直接读取Actuator的信息。
然后我使用 application.yml 进行如下配置:(这个配置会报错)
management:
endpoints:
web:
exposure:
include: *
接着启动项目,然后就报错:
Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning an alias in 'reader', line 54, column 26:
二、报错原因
原因就是使用了没有带引号的 * 号,虽然 * 号是通配符,但是,直接写 * 号就会报错。
三、解决方案
根据上述报错信息,查找到关键内容提示,expected alphabetic or numeric character,翻译过来就是,期望字母或者数字字符,按照提示,经过测试,把 * 号改为 '*' 或者 "*"。即正确的配置如下所示:
或者
以上两种方式都是可以的。
如下图即是正常访问的监控页面:
完结!