Spring Boot Gateway如何禁用/actuator/prometheus端点暴露的指定指标
你需要禁用的三个指标均属于gateway_requests_seconds这个Timer类型指标的衍生统计项,只需禁用该根指标即可同时隐藏三个目标指标,无需单独逐个处理,可通过以下两种方式实现:
方案1:配置文件实现(推荐)
无需编写代码,直接在项目配置文件中添加对应配置即可:
YML格式(application.yml)
management: metrics: enable: gateway.requests.seconds: false
Properties格式(application.properties)
management.metrics.enable.gateway.requests.seconds=false
方案2:代码自定义过滤实现
如果需要更灵活的指标控制逻辑,可以注册自定义MeterFilter Bean实现过滤:
import io.micrometer.core.instrument.Meter; import io.micrometer.core.instrument.config.MeterFilter; import io.micrometer.core.instrument.config.MeterFilterReply; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MetricsConfig { @Bean public MeterFilter excludeGatewayMetricsFilter() { return new MeterFilter() { @Override public MeterFilterReply accept(Meter.Id id) { if ("gateway.requests.seconds".equals(id.getName())) { return MeterFilterReply.DENY; } return MeterFilterReply.NEUTRAL; } }; } }
配置完成后重启服务,访问/actuator/prometheus端点,搜索三个目标指标名称确认无匹配结果即可。
内容的提问来源于stack exchange,提问作者Alpesh Jikadra
相关产品推荐
相关产品推荐

