指标与面板:空图、统计口径与故障复盘
空图、计数重置与单位错误定位
本节沿原始序列、rate 聚合、空数据和面板单位定位失败层;先确认指标类型/单位、抓取窗口与数据源 UID,与配套示例逐项对照,再选择最小修复。
核对日期2026-10-17;适用范围:机制按核对时Prometheus 3.x官方文档的稳定共同子集说明;示例另固定Prometheus 2.55与Grafana OSS 11.6教学配置族,归档族不是生产安装建议。新版新增或实验功能未默认启用,实际升级仍需独立兼容与安全评估。示例未执行;真实环境仍需验证产品配置、权限、连通与恢复结果。先读起点理解前置,再按章节完成推演。
空图分层定位
指标空图排查从原始序列开始:先核对数据源可达与权限,再查up、指标名称、job/instance标签、时间范围及rate窗口。原始Counter存在但窗口不足两个样本时rate可能为空;标签过滤匹配不到则是空向量,不是数值零。禁止直接用or vector(0)修补所有空图,这会让采集失败看起来业务健康。保存真实表达式、时间窗和数据源UID以便复盘。
Counter重置与联接
指标Counter重置出现在进程重启或目标替换,rate按序列处理递减;先聚合再rate可能掩盖重置产生错误突增。跨Exporter联接时instance可能包含不同端口,同一主机的node与mysql指标不一定同标签。旧MySQL内存面板按on(instance)联接,匹配错误会空图;应设计稳定主机标识并保证一对一,不能盲目group_left制造多对多结果。
单位与分位数误读
原内部业务监控资料已移除;请使用本地示例应用生成指标,再验证采集、标签和查询结果。
本篇练习与参考解答
练习:rate为空时用零替代能证明无流量吗?
参考解答
不能。可能采样不足、时间范围错、目标缺失或label不匹配,须先核对原始序列及抓取健康。
核对资料与相邻阅读
面板正常但汇总失真的复盘
以下演练将Prometheus 指标与 Grafana 面板的变更、失败证据和恢复验收串起来;先熟悉配套示例中的指标类型/单位、抓取窗口与数据源 UID。演练未执行。
故障场景与影响
每个实例的成功率都接近正常,服务整体指标却与用户反馈明显不符。
先记录首次异常时间、受影响对象和最近变更,区分个别对象失败与整条管理链路异常。以下是排查演练,不是已发生事故的实测记录。
按证据定位原因
- 核对分子和分母是否来自同一时间窗口、过滤条件和请求集合,检查失败请求有没有被漏采。
- 对比各实例流量,判断是否错误地平均了实例百分比,而没有先汇总计数。
- 检查 counter 重置、抓取缺口、标签变化和面板单位,保留原查询及样本。
恢复步骤与验收
修正聚合表达式和面板说明,保留原版本便于对照。标签调整同时评估序列数量,不能把请求 ID 等无界值直接加入指标标签。
验收:用一组可手算的不同流量样本核对整体比例,再验证重启和无数据窗口。面板、录制规则与告警使用一致口径。
将触发条件、直接原因、修复动作、恢复证据和后续检查写入同一份复盘,明确每项后续工作的负责人。机制参考:官方说明。
基数和比例练习
指标基数练习:20个实例、5个状态、10个规范route共1000个组合;增加无限request_id为什么危险?参考解答:每个不同ID产生新序列,活跃内存、索引与长期存储随请求增长,抓取更慢并可能反过来丢数据。ID应进入受控日志/trace关联,不作为统计维度。该组合数是上界估算,实际取决于存在的组合。
汇总与平均练习
指标比例练习:A实例1次失败/1次请求,B实例0次失败/99次请求,整体错误率是多少?参考解答:总失败1/总请求100为1%,直接平均100%与0%得到50%错误。先确定统计对象、时间窗口与过滤标签,再选择聚合顺序。仪表盘与告警应共用口径,不能各自用不同分母解释同一事故。
旧Grafana配置的保留边界
原内部业务监控资料已移除;请使用本地示例应用生成指标,再验证采集、标签和查询结果。
本篇练习与参考解答
练习:经典_bucket值可以直接当P95吗?
参考解答
不可以。桶是累计计数,要按le保留聚合后计算分位数估计,桶边界粗还会产生误差。
核对资料与相邻阅读
本节沿用本页资料与示例入口。
保留原文入口
继续阅读
- 知识专题
- 开发与配置实践
- 知识专题