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服务器的地址和端口访问指标数据。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/621174.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复