環境: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自動會展示數據庫連接信息
完畢!!!
給個關注+轉發唄謝謝
公眾:Springboot實戰案例錦集





