首页/云/可观测性速查/topk 与 bottomk:找出靠前的序列
本包目录(282 条)
监控体系与方法40 条
Prometheus 与采集64 条
Grafana 与看板53 条日志平台52 条链路追踪23 条告警与响应50 条

topk 与 bottomk:找出靠前的序列

topk(n, v) 返回分组内数值靠前的 n 条序列,常用于找出错误数偏多的服务或实例;可先按维度分组再对每组取 topk。

可观测性速查云更新于 2026-10-12

全局 Top 与分组 Top

全局 Top 与分组 Top
# 错误数前 5 的序列
topk(5, sum by (instance, service) (rate(http_requests_total{code=~"5.."}[5m])))

# 每个服务内错误数前 3 的实例
topk(3, sum by (service, instance) (rate(http_requests_total{code=~"5.."}[5m]))) by (service)
topk 是瞬时快照:序列排名会跳变,图形上曲线来回替换属于正常现象。

易错点

  • topk 的 n 是每组数量,分组写错会得到与预期不同的曲线条数
  • 对空结果集使用 topk 不会报错,图表空白时先确认底层选择器是否有数据

数据来源与参考

  • Prometheus 文档 · topk() / bottomk()
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌