Prometheus 实战
  • 前言
  • 修订记录
  • 如何贡献
  • Prometheus 简介
    • Prometheus 是什么
    • 为什么选择 Prometheus
  • Prometheus 安装
    • 二进制包安装
    • Docker 安装
  • 基础概念
    • 数据模型
    • 指标类型
    • 作业与实例
  • PromQL
    • PromQL 基本使用
    • 与 SQL 对比
  • 数据可视化
    • Web Console
    • Grafana
    • Promlens
  • Prometheus 配置
    • 全局配置
    • 告警配置
    • 规则配置
    • 数据拉取配置
    • 远程可写存储
    • 远程可读存储
    • 服务发现
    • 配置样例
  • 服务发现
    • 静态服务发现
    • 文件服务发现
    • HTTP服务发现
    • Consul服务发现
    • moby服务发现
    • kubernetes服务发现
  • Exporter
    • 文本格式
    • Sample Exporter
    • Node Exporter 安装使用
    • Node Exporter 常用查询
    • 其他 Exporter 介绍
  • Pushgateway
    • Pushgateway 是什么
    • 如何使用 Pushgateway
  • 数据存储
    • Local Store
    • Remote Store
  • 告警/记录规则
    • 如何配置
    • 触发逻辑
  • Alertmanager
    • Alertmanager 是什么
    • 配置详情
    • 通过 Email 接收告警
    • 通过企业微信接收告警
    • 通过 Slack 接收告警
    • 通过 Webhook 接收告警
    • 其他告警接收方案
  • Prometheus 工具
    • Promtool 介绍和使用
    • Client SDK
  • Prometheus 性能调优
    • Metrics 仪表盘
    • 启动参数优化
    • 日志查询
  • Prometheus 与容器
    • Docker
    • Kubernetes
  • 高可用方案探讨
    • Prometheus Server 的高可靠
    • AlertManager 的高可靠
  • 实战练习
    • NodeExporter
    • 配置告警规则
    • Grafana 集成
    • Alertmanager 告警
  • 常见问题收录
    • 如何热加载新配置
    • 如何通过认证后拉取数据
Powered by GitBook
On this page
  • Counter
  • Gauge
  • Histogram
  • Summary
  • Histogram vs Summary

Was this helpful?

  1. 基础概念

指标类型

Previous数据模型Next作业与实例

Last updated 2 years ago

Was this helpful?

Prometheus 时序数据分为 , , , 四种类型。

Counter

Counter 表示收集的数据是按照时间推移不断累加变化的,我们往往用它记录服务请求总量、错误总数等。

例如 Prometheus server 中 http_requests_total, 表示 Prometheus 处理的 http 请求总数,我们可以使用 rate, 很容易得到任意区间数据的均值,这个会在 PromQL 一节中细讲。

Gauge

Gauge 表示采集的数据是一个瞬时值,时间前后没有关联,可以任意变化(忽高忽低),比如可以用来记录内存、磁盘使用量。

例如 Prometheus server 中 go_goroutines, 表示 Prometheus 当前 goroutines 的数量。

Histogram

Histogram 由 <basename>_bucket{le="<upper inclusive bound>"},<basename>_bucket{le="+Inf"}, <basename>_sum,<basename>_count 组成,主要对采样的数据(例如请求耗时或响应大小)按照预设的 bucket(统计区间)进行累计,然后针对某个时间范围统计区间的变化情况,可以很方便得出指标的分位值,例如我们可以用它来计算最近5分钟请求耗时的95峰值。

例如 Prometheus server 中 prometheus_http_request_duration_seconds, 表示 Prometheus HTTP 请求耗时,我们可以用它计算耗时的分位数。

Summary

Summary 和 Histogram 类似,由 <basename>{quantile="<φ>"},<basename>_sum,<basename>_count 组成,主要用于表示一段时间内数据采样结果(通常是请求持续时间或响应大小),它直接存储了 quantile 数据,而不是根据统计区间计算出来的。

例如 Prometheus server 中 prometheus_target_interval_length_seconds。

Histogram vs Summary

  • 都包含 <basename>_sum,<basename>_count。

  • Histogram 需要通过 <basename>_bucket 设定分布实时计算 quantile, 而 Summary 直接存储了 quantile 的值。

  • 真实应用场景中,大家使用 Histogram 更多一些。

Counter
Gauge
Histogram
Summary