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

如何在Grafana中聚合Kubernetes上多实例Spring Boot应用的Micrometer+Prometheus指标

如何在Grafana中聚合Kubernetes上多实例Spring Boot应用的Micrometer+Prometheus指标

嗨,这个需求其实核心靠Prometheus的聚合查询就能搞定,Grafana只是负责把聚合后的结果可视化出来而已,我来一步步给你讲清楚:

首先要注意一个小细节:Micrometer会自动把指标名称里的点号(.)转换成下划线(_),所以你定义的process1.calls.total在Prometheus里实际存储的名称是process1_calls_total,成功和失败的指标同理,分别是process1_calls_successful和process1_calls_failed。

接下来就是写PromQL查询来聚合所有实例的数值,用sum()函数就可以轻松实现:

  • 计算Process1的总调用数:

    sum(process1_calls_total)
    

    这个查询会把所有实例(不管是instance1还是instance2)的process1_calls_total数值相加,正好得到你要的25。

  • 计算Process1的成功调用数:

    sum(process1_calls_successful)
    

    对应例子里的10+2=12。

  • 计算Process1的失败调用数:

    sum(process1_calls_failed)
    

    对应例子里的10+3=13。

在Grafana里配置的话也很简单:

  1. 新建一个面板,选择你的Prometheus作为数据源
  2. 在查询编辑器里输入上面对应的PromQL
  3. 给面板设置合适的标题(比如“Process1 总调用数”),调整可视化样式(比如用Stat面板直接显示数值)
  4. 重复上面的步骤配置成功和失败调用数的面板就行

如果之后你需要按其他维度聚合(比如按K8s的命名空间、Pod标签等),只需要给sum()加上by()子句就可以,比如:

sum by (namespace) (process1_calls_total)

这样就能按命名空间分别聚合总调用数了。

备注:内容来源于stack exchange,提问作者codependent

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 13:10:29