指标:序列、标签、Counter 与直方图
采样、时间序列与查询入门
指标与可视化先确定测量对象、单位和时间窗口,再选择 counter、gauge 或 histogram。查询聚合必须保留正确分母;面板能显示曲线,并不证明它表达了正确业务含义。
指标序列模型
指标序列模型由指标名与完整label集合唯一确定,样本是某时刻的值。一次请求的日志不能代替连续采样;同名指标换一个route标签值就是新序列。Prometheus按目标定期抓取,Grafana通过数据源查询存储,面板本身不存放业务指标。需要先理解job代表采集任务、instance代表具体目标,再看status/route等业务维度。
PromQL查询入口
指标PromQL入口先选择原始指标和明确label过滤,再逐步加入rate与sum,不能从复杂仪表盘JSON倒猜原始数据存在。即时查询返回一个求值时刻,区间查询在多个步长重复求值;图表步长不同可能看起来不同,不代表原始数据变了。命令或HTTP查询接口会访问真实Prometheus。
抓取与权限前置
指标抓取前置要求Prometheus进程可达Exporter,Exporter只暴露必要统计并用网络/TLS/身份保护。up是抓取目标状态,不表示应用全部功能正常;健康页面成功也不证明/metrics指标有效。配置127.0.0.1:9109只适合同网络命名空间,容器里的回环并不是宿主机。不要为了便于Grafana访问就向全网开放未认证的Prometheus。
本篇练习与参考解答
练习:Grafana连得上浏览器是否意味着它能访问Prometheus?
参考解答
不意味着。Grafana服务端须能访问配置url,容器内回环指自己,还需核对后端授权与TLS。
核对资料与相邻阅读
指标类型、标签基数与聚合
先明确指标类型/单位、抓取窗口与数据源 UID,再对照配套示例理解原始序列、rate 聚合、空数据和面板单位。
核对日期2026-10-17;适用范围:机制按核对时Prometheus 3.x官方文档的稳定共同子集说明;示例另固定Prometheus 2.55与Grafana OSS 11.6教学配置族,归档族不是生产安装建议。新版新增或实验功能未默认启用,实际升级仍需独立兼容与安全评估。示例未执行;真实环境仍需验证产品配置、权限、连通与恢复结果。先读起点理解前置,再按章节完成推演。
Counter和Gauge
指标类型选择决定查询语义:Counter累计递增并可在进程重启时归零,Gauge可上下变化表示当前值。checkout_requests_total应先按每条序列求rate,再按status聚合,防止先sum掩盖单实例重置。inflight_requests应直接观察当前值,给Gauge求rate虽可能被语法接受却常无业务意义。单位放名称与说明中,毫秒与秒混用会让阈值差千倍。
Label基数预算
指标标签基数是所有label组合产生的序列数量,route10种、status5种、instance20个最多形成1000种组合,还要乘指标族数量。不要把request_id、用户ID或完整URL放label;将动态路由归一为/cart/{id}等模板,在日志保存请求级证据。删除label只能减少后续序列,历史块不会立即消失;必须从埋点、采集过滤和保留期限共同控制容量。
直方图和分位数
指标直方图经典桶是累计计数,bucket的le代表小于等于边界,不能把_bucket曲线本身叫P95。先对每桶求rate再按le保留聚合,最后使用histogram_quantile(0.95, ...),结果是基于桶的估计;桶太粗会有误差。平均耗时用rate(_sum)/rate(_count),不是每秒速率;跨实例分位数不能简单平均。没有请求时分母为零的NaN要明确展示而非假称延迟为零。
本篇练习与参考解答
练习:同一Counter两实例中一台重启,先sum再rate安全吗?
参考解答
不安全。应先对单序列rate识别重置,再sum聚合;聚合后递减可能被另一实例增长掩盖。
核对资料与相邻阅读
本节沿用本页资料与示例入口。
继续阅读
- 开发与配置实践
- 排错与诊断
- 知识专题