环境:springboot2.3.11 + prometheus1.6.7 + grafana7.5.7
什么是Prometheus
Prometheus 是一个开源的服务监控系统和时间序列数据库。
prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合。
时序(time series)是由名字(Metric)以及一组key/value标签定义的,具有相同的名字以及标签属于相同时序。
配置依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
</dependencies>
配置文件
spring:
application:
name: app-prometheus
---
management:
server:
port: 9999
endpoints:
enabled-by-default: true
web:
exposure:
include: '*'
注册MeterRegistry
@Bean
public MeterRegistryCustomizer<MeterRegistry> configurer(@Value("${spring.application.name}") String name) {
return (registry) -> registry.config().commonTags("application", name);
}
访问Prometheus actuator
Springboot与Prometheus的整合完成。
Prometheus配置安装
Prometheus下载
通过如上地址下载自己需要的版本。
配置Prometheus
scrape_configs:
- job_name: 'app-prometheus'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:9999']
localhost:9999为项目的Actuator访问地址。
启动Prometheus
访问
查看监控的应用
自定义meter
@Resource
private MeterRegistry registry ;
private Counter counter ;
@PostConstruct
public void init() {
counter = this.registry.counter("vistor") ;
}
@GetMapping("/count")
public String count() {
this.counter.increment() ;
return "访问次数:" + this.counter.count() ;
}
先多访问几次该接口,通过Prometheus查看
Grafana安装配置
下载
通过上面的地址下载grafana
启动服务
默认用户名密码:admin/admin
添加Prometheus数据源
查看数据
这里展示了visitor中的统计信息
监控数据库连接池
先在grafana上搜索
通过id导入
项目中配置hikari数据库连接池,grafana自动会展示数据库连接信息