环境:springboot2.3.11 + prometheus1.6.7 + grafana7.5.7


什么是Prometheus

Prometheus 是一个开源的服务监控系统和时间序列数据库。

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci

 

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

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_02

 

Springboot与Prometheus的整合完成。

Prometheus配置安装

Prometheus下载

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_03

 

通过如上地址下载自己需要的版本。

配置Prometheus

scrape_configs:
  - job_name: 'app-prometheus'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
    - targets: ['localhost:9999']

localhost:9999为项目的Actuator访问地址。

启动Prometheus

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_04

 

访问

prometheus blackbox指定网页监控 prometheus监控springboot项目_spring_05

 

查看监控的应用

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_06

 

prometheus blackbox指定网页监控 prometheus监控springboot项目_spring_07

 

自定义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查看

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_08

 

Grafana安装配置

下载

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_09

 

通过上面的地址下载grafana

启动服务

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_10

 

默认用户名密码:admin/admin

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_11

 

添加Prometheus数据源

prometheus blackbox指定网页监控 prometheus监控springboot项目_spring_12

 

查看数据

prometheus blackbox指定网页监控 prometheus监控springboot项目_spring_13

 

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_14

 

这里展示了visitor中的统计信息

监控数据库连接池

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_15

 

先在grafana上搜索

prometheus blackbox指定网页监控 prometheus监控springboot项目_生成器_16

 

通过id导入

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_17

 

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_18

 

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_19

 

项目中配置hikari数据库连接池,grafana自动会展示数据库连接信息

prometheus blackbox指定网页监控 prometheus监控springboot项目_ci_20