# springboot-integrate-micrometer
**Repository Path**: codemarkinggmail/springboot-integrate-micrometer
## Basic Information
- **Project Name**: springboot-integrate-micrometer
- **Description**: SpringBoot应用集成Micrometer向Prometheus暴露Metrics接口
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2021-10-29
- **Last Updated**: 2021-10-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 架构说明
1、SpringBoot应用集成Micrometer向Prometheus上报Metrics数据。
2、Prometheus服务端配置SpringBoot应用Target。
3、Grafana配置数据源为Prometheus的仪表板,监控SpringBoot应用。
### 应用集成Micrometer
1、引入相应依赖:spring-boot-starter-actuator、micrometer-registry-prometheus、micrometer-registry-jmx、micrometer-jvm-extras
```
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus:1.2.0'
implementation 'io.micrometer:micrometer-registry-jmx:1.2.0'
implementation 'io.github.mweirauch:micrometer-jvm-extras:0.1.4'
```
2、配置自定义MeterRegistry
```
/**
* @Project Name:mmp
* @Package Name:cn.hoofungson.mmp.config
* @Since JDK 1.8
*/
package cn.hoofungson.mmp.config;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Description: WebConfig
* @Author 胡松 hoofungson@163.com
* @Date 2020-04-16 13:18
* @Version V1.0
*/
@Configuration
public class WebConfig {
/**
* 配置自定义MeterRegistry
**/
@Bean
MeterRegistryCustomizer configurer(@Value("${spring.application.name}") String applicationName) {
return registry -> registry.config().commonTags("application", applicationName);
}
}
```
3、配置Properties暴露端点
```
spring.application.name=message-management-platform
management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}
```
### 验证集成Micrometer
1、访问URL http://:<端口>/actuator/metrics和http://:<端口>/actuator/prometheus,若有返回数据则集成成功。
```
curl http://localhost:8061/actuator/metrics
curl http://localhost:8061/actuator/prometheus
```