You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus如何将Micrometer指标推送至Prometheus并在Grafana可视化

Quarkus Micrometer指标对接Prometheus+Grafana实现可视化方案

前置准备

首先确保你已经安装了micrometer-registry-prometheus扩展,执行以下命令添加即可:

quarkus extension add micrometer-registry-prometheus

Maven用户也可以直接在pom.xml中添加依赖:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-micrometer-registry-prometheus</artifactId>
</dependency>

基础配置

在application.properties中添加以下配置,开启Prometheus指标导出:

# 启用Prometheus指标导出能力
quarkus.micrometer.export.prometheus.enabled=true
# 开放metrics端点访问权限,生产环境可根据需要调整权限策略
quarkus.http.auth.permission.metrics.paths=/q/metrics
quarkus.http.auth.permission.metrics.policy=permitAll

配置完成后重启服务,你自定义的request计数器等所有Micrometer指标就会按Prometheus标准格式暴露在/q/metrics端点。

指标同步到Prometheus

Prometheus支持两种同步模式,你可以根据自己的业务场景选择:

方案1:Prometheus主动拉取(推荐)

这是Prometheus原生的工作模式,适合长生命周期运行的Quarkus服务,配置成本最低:

  • 打开Prometheus的配置文件prometheus.yml,在scrape_configs节点下新增抓取任务:
scrape_configs:
  - job_name: 'quarkus-application'
    scrape_interval: 15s
    # 如果你服务的metrics路径带上下文前缀,取消下面的注释修改为实际路径
    # metrics_path: '/hello/q/metrics'
    static_configs:
      - targets: ['<Quarkus服务的IP:端口>']
  • 重启Prometheus服务,等待1-2个抓取周期后就能在Prometheus中查询到你上报的指标。

方案2:主动推送至Prometheus Pushgateway

如果你的Quarkus服务是短生命周期任务(比如定时任务、Serverless函数),无法被Prometheus主动拉取,可以选择推送模式:

  • 首先部署好Prometheus Pushgateway组件
  • 给Quarkus添加Pushgateway扩展:
quarkus extension add micrometer-registry-prometheus-pushgateway
  • 在application.properties中添加推送配置:
# 开启Pushgateway推送能力
quarkus.micrometer.export.prometheus.pushgateway.enabled=true
# 替换为你实际部署的Pushgateway访问地址
quarkus.micrometer.export.prometheus.pushgateway.base-url=http://<Pushgateway地址>:9091
# 配置推送任务名和推送频率
quarkus.micrometer.export.prometheus.pushgateway.job=quarkus-app
quarkus.micrometer.export.prometheus.pushgateway.push-rate=15s

配置完成后服务会自动按设定的频率把指标推送到Pushgateway,Prometheus只需配置抓取Pushgateway的指标即可。

Grafana可视化配置

  • 打开Grafana控制台,进入「数据源」页面,添加Prometheus数据源,填写你部署的Prometheus服务访问地址并保存。
  • 新建大盘或者导入现成的Quarkus通用大盘模板,添加面板时选择对应的Prometheus数据源,直接搜索你自定义的request指标即可生成调用次数的可视化图表,也可以根据需求添加JVM、接口耗时等其他Micrometer内置指标的面板。

如果你后续还是要尝试对接Graphite,Quarkus也提供了对应的micrometer-registry-graphite扩展,添加后配置Graphite服务地址即可实现指标推送。

内容的提问来源于stack exchange,提问作者rightjoin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 04:30:05