SpringBoot集成prometheus:
- 添加依賴:
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.prometheus</groupId>
<artifactId>simpleclient_spring_boot</artifactId>
<version>0.8.1</version>
</dependency>
- 添加配置:
management.metrics.tags.application=account-server
management.metrics.export.prometheus.enabled=true
management.metrics.export.jmx.enabled=true
management.endpoints.web.exposure.include=*
management.endpoints.web.base-path=/metrics
# 添加 http_server_requests_seconds_bucket 直方圖配置
management.metrics.distribution.percentiles-histogram.http.server.requests=true
# 其他可選配置
metrics:
distribution:
percentiles-histogram:
http.server.requests: true
sla:
http.server.requests: 50ms
- 啓動類添加(可省)
@Bean
MeterRegistryCustomizer meterRegistryCustomizer(MeterRegistry meterRegistry) {
return meterRegistry1 -> meterRegistry.config()
.commonTags("application", "account-server");
}
- 驗證:
http://localhost:8081/metrics
http://localhost:8081/metrics/prometheus