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

自定义Prometheus指标http_requests_total未显示,配置后访问/metrics无法查看

问题原因及解决办法

你的代码仅完成了CounterVec的定义与注册,最可能存在以下两类遗漏:

1. 未触发任何指标计数操作

Prometheus的CounterVec属于带标签的聚合指标,只有当你针对具体标签组合(比如指定状态码和请求方法)调用过Inc()或Add()方法后,对应的指标才会出现在/metrics的输出中。

你需要在HTTP请求的处理逻辑里添加类似代码:

// 示例:处理完GET请求并返回200状态码后更新计数
HttpReqs.WithLabelValues("200", "GET").Inc()

如果没有任何标签组合被初始化(即无任何计数操作),Prometheus不会输出该指标的任何条目。

2. 未正确暴露Prometheus指标端点

你可能未将Prometheus的指标处理器挂载到HTTP路由上,导致访问/metrics时返回的并非Prometheus采集的指标数据。

需要添加代码来暴露端点:

import "github.com/prometheus/client_golang/prometheus/promhttp"

// 在路由配置中添加以下内容
http.Handle("/metrics", promhttp.Handler())
// 若使用其他Web框架,需按对应框架的方式挂载该处理器

额外检查点:

  • 确认HttpReqs变量的作用域正确,避免被提前GC(比如不要将其定义在临时函数的局部作用域,建议定义为全局变量或在init函数中完成初始化与注册)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 02:44:53