HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
随笔
关于作者
  • 《从0到1学习Java多线程》

  • 《从0到1搭建服务器》

  • 可观测和监控

    • 可观测是什么
    • 指标
    • 链路
    • 日志
    • Zabbix vs Prometheus
    • 基于Micrometer的Prometheus指标生成
    • OpenTelemetry
    • Opentelemetry Collector
    • Opentelemetry尾采样
    • 基于Opentelemetry的filelog插件收集日志
    • Python接入Opentelemetry
    • 基于javaagent探针自动埋点
    • 可观测系统在Flyme落地
  • 玩转IDEA

  • 03-RPC

  • 04-Spring源码

  • 05-《Java日志框架》

  • 专栏
  • 可观测和监控
#Micrometer #Prometheus #基于 #指标生成
码农阿雨
2025-09-05
目录

基于Micrometer的Prometheus指标生成

# 自动集成指标

对于Java开发的同学来说,在使用 springboot 的时候,应该都会看到过以下这两个依赖包:

 	<dependencyManagement>
     <!-- 导入Spring Boot的版本依赖管理 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.7.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
     </dependencyManagement>
     
	 <!-- 子项目依赖包 -->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
     <dependency>
         <groupId>io.micrometer</groupId>
         <artifactId>micrometer-registry-prometheus</artifactId>
     </dependency>
  1. spring-boot-starter-actuator: 提供监控和管理功能的基础。
  2. micrometer-registry-prometheus: Micrometer 是一个监控门面,这个依赖提供了对 Prometheus 格式的支持。

然后你只需要在配置文件 application.yml 声明:

management:
  endpoints:
    web:
      base-path: /actuator
      exposure:
        include:
        - health
        - prometheus
        - info
  endpoint:
    prometheus:
      enabled: true

你就可以成功地将 Spring Boot 应用的 JVM 及其他指标以 Prometheus 格式输出到浏览器了。

访问 http://127.0.0.1:8080/actuator/prometheus

可以看到spring-boot-starter-actuator框架会记录HTTP接口、JVM 等等 指标信息,除此之外我们看到这个框架还包含了一些 程序运行时间、磁盘空间、JDBC 等等非常多的指标:

这些指标可以直接被 Prometheus 服务器抓取,进而用于在 Grafana 等工具中构建强大的监控仪表盘。

# 自定义埋点指标

    @Resource
    private MeterRegistry meterRegistry;

    Counter myCounter = Counter.builder("my.custom.counter")
            .description("A custom counter to track something important")
                .tag("region", "us-east-1") // 可以添加标签
                .tag("result", "ok") // 可以添加标签
                .register(meterRegistry); 
                
    public void doSomething() {
        myCounter.increment(); // 增加计数器,即触发一次计算器加一
    }

触发入口,可以看到 /actuator/prometheus 就会生成一条自定义埋点的指标数据:

# HELP my_custom_counter_total A custom counter to track something important
# TYPE my_custom_counter_total counter
my_custom_counter_total{region="us-east-1",result="ok",} 1.0
阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Micrometer#Prometheus#基于#指标生成
上次更新: 2025-09-05 07:09:03
最近更新
01
阿里面试题(答案)
09-05
02
《LeetCode 101》
09-05
03
《LeetCode CookBook》
09-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式