如何查看 Prometheus 有哪些可用指标(全指标列表)?
查看 Prometheus 指标:用 UI 补全与指标名 API 浏览,按 job 查询当前序列,再从 Targets 检查各目标实际暴露的端点。自身 /metrics 只提供 Prometheus 自身指标。本文给出具体路径与命令。
只要指标名清单,用 API curl http://localhost:9090/api/v1/label/__name__/values;不要首先查询所有序列,大型实例会产生很大的查询负载。
四种查看方式
1. UI 下拉补全:查询框输入时自动补全指标名,适合浏览;
2. API 取全量指标名:
curl -s http://localhost:9090/api/v1/label/__name__/values | jq .
3. 查某个 job 提供了什么:
count by (__name__) ({job="node"})
按指标名聚合计数,一眼看清该 job 的指标清单与各自序列数。
4. Targets 页直采端点:Status → Targets 里的目标地址直接 curl 其 /metrics,看原始暴露文本(含 # HELP 说明与 # TYPE 类型)。
顺带排查高基数
topk(20, count by (__name__) ({__name__=~".+"}))
此全库查询可能很重,优先增加 job 等范围限制。它统计当前即时查询可见的序列,不等于所有历史序列。Prometheus 自身的 /metrics 仅暴露自身指标,不会汇总所有抓取目标。
常见问题(FAQ)
Q:name 是什么? 指标名本身也是一个标签,名为 __name__,所以可以像标签一样匹配。
Q:为什么有的指标时有时无? 目标时上线时下线(如短生命周期 Job),即时查询中的旧样本会受回看窗口和陈旧标记影响,但保留期内的历史数据仍可查询;指标名 API 返回的名称也不保证当前仍有活跃样本。