使用Prometheus与Grafana追踪SpringBoot程序

    技术2023-08-31  101

    本案例使用Prometheus去追踪SpringBoot的Metrics信息,通过Grafana将Prometheus收集到的信息进行可视化展示。

    使用的软件版本:

    OS:Win10 x64 专业版

    JDK1.8_181

    Prometheus-2.0

    Grafana-6.3.0

    1.Prometheus 配置文件 如下所示

    # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. # 抓取target的时间间隔 evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # 计算rules 的时间间隔 # 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: 'jvm-web' scrape_interval: 5s scrape_timeout: 5s metrics_path: '/actuator/prometheus' scheme: http static_configs: - targets: - 127.0.0.1:8389 #此处填写 Spring Boot 应用的 IP + 端口号

    2.创建一个Spring Boot程序,这里只放pom.xml中主要配置

    <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintag-engine</artifactId> </exclusion> <exclusion> <groupId>junit</groupId> <artifactId>junit</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- micrometer核心包,桥接Prometheus --> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>1.2.0</version> </dependency> <!-- micrometer获取jvm相关信息,用于展示在Grafana上 --> <dependency> <groupId>io.github.mweirauch</groupId> <artifactId>micrometer-jvm-extras</artifactId> <version>0.1.4</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>build-info</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>2.2.6</version> <executions> <execution> <goals> <goal>revision</goal> </goals> </execution> </executions> <configuration> <dotGitDirectory>${project.basedir}/.git</dotGitDirectory> </configuration> </plugin> </plugins> </build>

    3.启动Prometheus

    windows版本只需要双击prometheus.exe即可。

    验证地址:http://localhost:9090/

    4.启动Grafana

    验证地址:http://localhost:3000/

    5.配置Grafanna数据源

    Processed: 0.008, SQL: 9