Springdoc是否可采集Spring Boot配置暴露的Prometheus端点信息?
Springdoc采集Spring Boot Actuator暴露的Prometheus端点配置方法
Springdoc默认仅扫描代码中通过@RestController、@RequestMapping系列注解定义的业务接口,Spring Boot通过Actuator模块暴露的Prometheus等运维端点不在默认扫描范围内,单纯配置扫描包路径无法识别这类框架内置端点,按以下步骤配置即可实现采集:
- 开启Actuator端点文档展示开关
在项目的application配置文件(yml/properties均可)中添加如下配置,这是识别Actuator端点的核心配置,默认值为false:springdoc: show-actuator: true - 校验Prometheus端点的暴露配置
确认Actuator侧的Prometheus端点已经正常开启暴露,配置示例如下:management: endpoints: web: exposure: include: prometheus,health,info # 按需开放端点,禁止暴露env、beans等敏感运维端点 endpoint: prometheus: enabled: true - (可选)配置端点分组优化展示
如果需要将业务接口和运维端点分开展示,可以通过分组配置做路径匹配拆分:springdoc: show-actuator: true group-configs: - group: 业务接口 paths-to-match: /api/** # 替换为实际业务接口的路径前缀 - group: 运维监控端点 paths-to-match: /actuator/**
配置完成重启服务后,即可在Springdoc的文档页面看到/actuator/prometheus端点信息。之前使用Springfox时能直接识别到这类端点,是因为Springfox默认会采集所有Servlet注册的映射路径,而Springdoc默认收敛了扫描范围,必须显式开启Actuator支持才会加载对应端点,不需要额外配置扫描包路径——Actuator端点的实现类由Spring Boot内置,不在业务代码包路径下,扫描包配置对其无效。
内容的提问来源于stack exchange,提问作者Anastasiya
相关产品推荐
相关产品推荐

