eout
发布于

Prometheus指标

场景结构图:

Prometheus定义了4种不同的指标类型(metric type):

Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要)。
  • Counter :一种累加的 metric,典型的应用如:请求的个数,结束的任务数, 出现的错误数等等。

Counter类型的指标其工作方式和计数器一样,只增不减(除非系统发生重置)。常见的监控指标,如http_requests_total,node_cpu都是Counter类型的监控指标。 一般在定义Counter类型指标的名称时推荐使用_total作为后缀。

Counter是一个简单但有强大的工具,例如我们可以在应用程序中记录某些事件发生的次数,通过以时序的形式存储这些数据,我们可以轻松的了解该事件产生速率的变化。 PromQL内置的聚合操作和函数可以让用户对这些数据进行进一步的分析:

  • Gauge :可以任意加减。

  • Histogram :

    可以理解为柱状图,典型的应用如:请求持续时间,响应大小。
    可以对观察结果采样,分组及统计。
    总请求次数100次,总响应时间是 10ms,<0.1ms 响应时间的50个,<0.2ms 响应时间的80个,<0.5ms 响应时间的100个,每一个段属于一个 bucket,个数是累加的。

以上表示:0-0.1ms的请求是50个,0.1-0.2ms 的请求是80-50=30个,0.2-0.5ms 的请求是100-80=20个。

  • Summary
    类似于 Histogram, 典型的应用如:请求持续时间,响应大小。
    提供观测值的 count 和 sum 功能。
    提供百分位的功能,即可以按百分比划分跟踪结果。
    总请求次数100次,总响应时间10ms,quantile="0.5" 0.1ms ,quantile="0.8" 0.3ms,quantile="0.95" 0.5ms。

以上表示:50% 的次数响应时间是 0.1ms,80% 的次数响应时间是 0.3ms,95%的次数响应时间是 0.5ms。

a. Summary 的百分位数是客户端计算好直接让 Prometheus 抓取的,不需要 Prometheus 计算,直方图是通过内置函数 histogram_quantile 在 Prometheus 服务端计算求出。

b. Histogram 的 bucket(桶)要设置合理,histogram_quantile 计算的逻辑是假定你的样本是线性分布的,如果 bucket 设置不合理,可能结果会相差很大。

浏览 (489)
点赞
收藏
1条评论
eout
eout
https://yunlzheng.gitbook.io/prometheus-book/parti-prometheus-ji-chu/promql/prometheus-metrics-types
点赞
评论