Spring Boot 使用 Micrometer 集成 Prometheus 监控接口信息

今天调研了一下监控项目的接口请求时长统计到Prometheus,这里整体的代码逻辑如下

引入jar包


然后在yml配置文件中配置相关参数


这边的enable可以设置false某些数据不统计

然后就是配置Micrometer 这里代码如下

/**

* @author: chenhao

* @Date: 2022/4/12 09:29

* @Description: MicrometerConfig

*/

@Configuration

public class MicrometerConfig {

@Bean

    MeterRegistryCustomizermetricsCommonTags() {

return registry -> {

registry.config().meterFilter(

new MeterFilter() {

@Override

                        public DistributionStatisticConfigconfigure(Meter.Id id, DistributionStatisticConfig config) {

if (id.getType() == Meter.Type.TIMER&&id.getName().matches("^(http|hystrix){1}.*")) {

return DistributionStatisticConfig.builder()

.percentilesHistogram(true)

.percentiles(0.5, 0.90,0.95, 0.99)

//                                        //设置时间范围

//                                        .minimumExpectedValue(Duration.ofMillis(400).toNanos())

//                                        .maximumExpectedValue(Duration.ofMillis(800).toNanos())

//                                        .sla(Duration.ofMillis(50).toNanos(),

//                                                Duration.ofMillis(100).toNanos(),

//                                                Duration.ofMillis(200).toNanos(),

//                                                Duration.ofSeconds(1).toNanos(),

//                                                Duration.ofSeconds(5).toNanos()

                                        .build()

.merge(config);

                            }else {

return config;

                            }

}

});

        };

    }

}


至此项目中的代码相关已经完成,这时我们直接访问自带的接口就可以查询相关信息


然后就是配置Prometheus的相关信息,让Prometheus主动的定时拉取数据



这样整个流程完成就可以自动统计接口请求时间

这时我们可以在Prometheus的web页面查看数据统计的推送情况


参考文档  https://blog.csdn.net/lp19861126/article/details/106309546

https://blog.csdn.net/aixiaoyang168/article/details/100866159

你可能感兴趣的:(Spring Boot 使用 Micrometer 集成 Prometheus 监控接口信息)