登录
首页 >  文章 >  java教程

SpringBoot整合Prometheus监控指南

时间:2025-07-12 23:33:40 284浏览 收藏

大家好,今天本人给大家带来文章《Spring Boot整合Prometheus监控教程》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

要让Spring Boot应用集成Prometheus监控,需添加依赖、启用Actuator并配置端点、配置Prometheus抓取任务,还可选地自定义指标。1. 添加micrometer-registry-prometheus依赖以暴露指标;2. 在配置文件中启用Actuator端点并设置application标签;3. 在prometheus.yml中新增job配置,指定metrics_path和目标地址;4. 可通过Micrometer注册自定义指标如计数器、定时器等,用于业务监控。完成这些步骤后,Prometheus即可拉取并展示Spring Boot应用的监控数据。

Spring Boot整合Prometheus实现监控的详细步骤

Prometheus 是目前最流行的监控系统之一,而 Spring Boot 作为 Java 领域主流的开发框架,天然支持与 Prometheus 的集成。只需要简单几步,就可以让 Spring Boot 应用暴露指标数据,供 Prometheus 拉取并展示。

Spring Boot整合Prometheus实现监控的详细步骤

添加依赖

要让 Spring Boot 支持 Prometheus 监控,第一步是引入相关依赖。Spring Boot 默认使用 Micrometer 作为指标度量库,它已经内置了对 Prometheus 的支持。

Spring Boot整合Prometheus实现监控的详细步骤

pom.xml 中添加以下依赖:


    io.micrometer
    micrometer-registry-prometheus

如果你用的是 Gradle,就加上:

Spring Boot整合Prometheus实现监控的详细步骤
implementation 'io.micrometer:micrometer-registry-prometheus'

这样你的应用就能自动收集 JVM、HTTP 请求、线程池等常见指标,并通过 /actuator/prometheus 接口暴露出来。

启用 Actuator 并配置端点

接下来需要启用 Spring Boot Actuator,并确保 Prometheus 端点可访问。

application.ymlapplication.properties 中添加如下配置:

management:
  endpoints:
    web:
      exposure:
        include: "*"
  metrics:
    tags:
      application: ${spring.application.name}

这段配置做了两件事:

  • 开启所有 Web 端点,包括 /actuator/prometheus
  • 给每个指标打上 application 标签,方便后续在 Prometheus/Grafana 中区分服务来源

默认情况下,Prometheus 的端点是 /actuator/prometheus,可以通过浏览器访问这个地址看看输出内容是否正常。

配置 Prometheus 抓取任务

有了 Spring Boot 输出的指标后,下一步就是让 Prometheus 主动去拉取这些数据。

编辑 Prometheus 的配置文件 prometheus.yml,在 scrape_configs 下新增一个 job:

- job_name: 'spring-boot-app'
  metrics_path: '/actuator/prometheus'
  static_configs:
    - targets: ['localhost:8080']

注意替换 targets 中的地址为你实际部署 Spring Boot 应用的地址和端口。

保存配置后重启 Prometheus,然后打开 Prometheus 的 Web UI(通常是 http://localhost:9090),输入 up 查看目标是否在线。

可选:自定义指标

除了默认的系统指标外,你还可以注册自己的业务指标。Micrometer 提供了多种方式来记录指标,比如计数器、定时器、Gauge 等。

举个例子,如果你想统计某个接口被调用的次数,可以这样做:

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;
import org.springframework.stereotype.Service;

@Service
public class MyService {

    private final Counter myCounter;

    public MyService(MeterRegistry registry) {
        this.myCounter = Counter.builder("my.custom.counter")
                .description("A custom counter for demo")
                .register(registry);
    }

    public void doSomething() {
        myCounter.increment();
    }
}

之后访问 /actuator/prometheus,你就能看到名为 my.custom.counter 的指标了。


基本上就这些。只要加上依赖、配置好端点和 Prometheus 抓取任务,Spring Boot 就能顺利接入 Prometheus。自定义指标虽然不是必须的,但一旦用起来,对排查问题和观察业务行为非常有帮助。

今天关于《SpringBoot整合Prometheus监控指南》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>