SpringBoot使用prometheus監控
本文介紹SpringBoot如何使用Prometheus配合Grafana監控。
1.關於Prometheus
Prometheus是一個根據應用的metrics來進行監控的開源工具。相信很多工程都在使用它來進行監控,有關詳細介紹可以檢視官網:https://prometheus.io/docs/introduction/overview/。
2.有關Grafana
Grafana是一個開源監控利器,如圖所示。
從圖中就可以看出來,使用Grafana監控很高大上,提供了很多視覺化的圖示。
官網地址:https://grafana.com/
3.SpringBoot使用Prometheus
3.1 依賴內容
在SpringBoot中使用Prometheus其實很簡單,不需要配置太多的東西,在pom檔案中加入依賴,完整內容如下所示。
``` <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE com.dalaoyang springboot2_prometheus 0.0.1-SNAPSHOT springboot2_prometheus springboot2_prometheus
<properties>
<java.version>1.8</java.version>
</properties>
<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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.1.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
3.2 配置檔案
配置檔案中加入配置,這裡就只進行一些簡單配置,management.metrics.tags.application屬性是本文配合Grafana的Dashboard設定的,如下所示:
spring.application.name=springboot_prometheus
management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}
3.3 設定application
修改啟動類,如下所示.
``` @SpringBootApplication public class Springboot2PrometheusApplication {
public static void main(String[] args) {
SpringApplication.run(Springboot2PrometheusApplication.class, args);
}
@Bean
MeterRegistryCustomizer<MeterRegistry> configurer(
@Value("${spring.application.name}") String applicationName) {
return (registry) -> registry.config().commonTags("application", applicationName);
}
} ```
SpringBoot專案到這裡就配置完成了,啟動專案,訪問http://localhost:8080/actuator/prometheus,如圖所示,可以看到一些度量指標。
4.Prometheus配置
4.1 配置應用
在prometheus配置監控我們的SpringBoot應用,完整配置如下所示。
```
my global config
global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s).
Alertmanager configuration
alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093
Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files: # - "first_rules.yml" # - "second_rules.yml"
A scrape configuration containing exactly one endpoint to scrape:
Here it's Prometheus itself.
scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['127.0.0.1:9090']
以下內容為SpringBoot應用配置
- job_name: 'springboot_prometheus'
scrape_interval: 5s
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['127.0.0.1:8080'] ```
4.2 啟動Prometheus
啟動Prometheus,瀏覽器訪問,檢視Prometheus頁面,如圖所示。
點選如圖所示位置,可以檢視Prometheus監控的應用。
列表中UP的頁面為存活的例項,如圖所示。
也可以檢視很多指數,如下所示。
5.Grafana配置
啟動Grafana,配置Prometheus資料來源,這裡以ID是4701的Doshboard為例(地址:https://grafana.com/dashboards/4701)如圖。
在Grafana內點選如圖所示import按鈕
在如圖所示位置填寫4701,然後點選load。
接下來匯入Doshboard。
匯入後就可以看到我們的SpringBoot專案對應的指標圖表了,如圖。
6.原始碼
原始碼地址:https://gitee.com/dalaoyang/springboot_learn/tree/master/springboot2_prometheus
相關文章
- 使用Prometheus監控FlinkPrometheus
- 使用 Prometheus-Operator 監控 CalicoPrometheus
- 使用Prometheus搞定微服務監控Prometheus微服務
- Prometheus+Grafana視覺化監控SpringBoot專案PrometheusGrafana視覺化Spring Boot
- Prometheus監控mongoPrometheusGo
- prometheus JVM監控PrometheusJVM
- Prometheus 監控arangodbPrometheusGo
- 6.prometheus監控--監控dockerPrometheusDocker
- Spring Boot中使用Prometheus監控教程Spring BootPrometheus
- 使用Prometheus、Grafana監控Artifactory實踐PrometheusGrafana
- SpringCloud使用Prometheus監控(基於Eureka)SpringGCCloudPrometheus
- 使用 Prometheus 監控 SAP ABAP 應用程式Prometheus
- 手把手教你使用 Prometheus 監控 JVMPrometheusJVM
- prometheus監控+alertmanager告警Prometheus
- 05 . Prometheus監控NginxPrometheusNginx
- prometheus 監控學習Prometheus
- 11.prometheus監控之黑盒(blackbox)監控Prometheus
- 使用Prometheus和Grafana監控Spring Boot應用PrometheusGrafanaSpring Boot
- prometheus監控04-AlertManagerPrometheus
- Prometheus監控之Blackbox ExporterPrometheusExport
- prometheus+grafana 監控nginxPrometheusGrafanaNginx
- Prometheus MySQL監控+grafana展示PrometheusMySqlGrafana
- Prometheus監控神器-Rules篇Prometheus
- SpringBoot使用SOFA-Lookout監控Spring Boot
- 使用SpringBoot Actuator監控應用Spring Boot
- 使用 Prometheus 監控 eKuiper 規則執行狀態PrometheusUI
- 手把手教你使用 Prometheus 監控 MySQL 與 MariaPrometheusMySql
- 使用Prometheus監控Linux系統各項指標PrometheusLinux指標
- 使用Prometheus監控Golang服務-基於YoyoGo框架PrometheusGolang框架
- 一分鐘部署prometheus&grafana全方面監控SpringBoot專案PrometheusGrafanaSpring Boot
- Prometheus + Grafana 監控平臺搭建PrometheusGrafana
- docker部署監控Prometheus+GrafanaDockerPrometheusGrafana
- 16.prometheus監控總結Prometheus
- Prometheus監控實戰應用Prometheus
- Prometheus監控神器-Alertmanager篇(1)Prometheus
- Prometheus監控神器-Alertmanager篇(4)Prometheus
- Prometheus監控報警系統Prometheus
- 09 . Prometheus監控tomcat+jvmPrometheusTomcatJVM