当前位置:首页 > 行业动态 > 正文

spring整合prometheus的方法是什么

Spring整合Prometheus的方法如下:

1、添加依赖

在项目的pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>springbootstarteractuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometerregistryprometheus</artifactId>
</dependency>

2、配置application.yml

在项目的application.yml文件中添加以下配置:

management:
  endpoints:
    web:
      exposure:
        include: '*' # 暴露所有端点,可以根据需要自定义
  metrics:
    export:
      prometheus:
        enabled: true # 开启Prometheus支持

3、创建Prometheus配置类

创建一个Prometheus配置类,用于注册Micrometer的PrometheusRegistry:

import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.prometheus.PrometheusConfig;
import io.micrometer.prometheus.PrometheusMeterRegistry;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class PrometheusConfig {
    @Bean
    public MeterRegistry prometheusRegistry() {
        return new PrometheusMeterRegistry(PrometheusConfig.DEFAULT);
    }
}

4、使用Micrometer注解收集指标

在需要收集指标的类和方法上添加Micrometer注解,counter、gauge、histogram等。

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class MyService {
    private final Counter counter;
    @Autowired
    public MyService(MeterRegistry meterRegistry) {
        this.counter = Counter.builder("my_service_counter").register(meterRegistry);
    }
    public void doSomething() {
        counter.increment(); // 计数器加1
    }
}

5、访问Prometheus界面查看指标数据

启动项目后,访问http://localhost:8080/actuator/prometheus,可以看到收集到的指标数据,如果需要在外部访问,可以部署一个Prometheus服务器,并修改application.yml中的配置,将management.endpoints.web.exposure设置为metrics,然后通过Prometheus服务器的地址和端口访问指标数据。

0