0%

prometheus四种数据类型

Prometheus 定义了 4 中不同的指标类型 (metric type):Counter(计数器)、Gauge(仪表盘)、Histogram(直方图)、Summary(摘要).

Counter

  • Counter 用于累计值,例如 记录 请求次数、任务完成数、错误发生次数
  • 一直增加,不会减少
  • 重启进程后,会被重置
    # http响应总数
    http_response_total{method="GET",endpoint="/api/tracks"} 100

Gauge

  • Gauge 常规数值,例如 温度变化、内存使用变化
  • 可增可减的仪表盘
  • 重启进程后,会被重置
    # 如cpu、内存使用量
    memory_usage_bytes{host="master-01"} 80
    cpu_usage{host="master-01"} 60

Histogram

  • 对记录的内容进行分组,提供 count 和 sum 全部值
  • 直接反应了在不同区间内样本的个数
    # 如:prometheus_tsdb_compaction_chunk_range_bucket 指标
    # HELP prometheus_tsdb_compaction_chunk_range Final time range of chunks on their first compaction
    # TYPE prometheus_tsdb_compaction_chunk_range histogram
    prometheus_tsdb_compaction_chunk_range_bucket{le="100"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="400"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="1600"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="6400"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="25600"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="102400"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="409600"} 0
    prometheus_tsdb_compaction_chunk_range_bucket{le="1.6384e+06"} 260
    prometheus_tsdb_compaction_chunk_range_bucket{le="6.5536e+06"} 780
    prometheus_tsdb_compaction_chunk_range_bucket{le="2.62144e+07"} 780
    prometheus_tsdb_compaction_chunk_range_bucket{le="+Inf"} 780
    prometheus_tsdb_compaction_chunk_range_sum 1.1540798e+09
    prometheus_tsdb_compaction_chunk_range_count 780

Summary

  • 提供 count 和 sum 全部值
  • 提供一个 quantiles 的功能,可以按%比划分跟踪的结果
  • 例如:quantile 取值 0.95,表示取采样值里面的 95% 数据
    # HELP prometheus_tsdb_wal_fsync_duration_seconds Duration of WAL fsync.
    # TYPE prometheus_tsdb_wal_fsync_duration_seconds summary
    prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.5"} 0.012352463
    prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.9"} 0.014458005
    prometheus_tsdb_wal_fsync_duration_seconds{quantile="0.99"} 0.017316173
    prometheus_tsdb_wal_fsync_duration_seconds_sum 2.888716127000002
    prometheus_tsdb_wal_fsync_duration_seconds_count 216

    从上面的样本中可以得知当前 Prometheus Server 进行 wal_fsync 操作的总次数为 216 次,耗时 2.888716127000002s。其中中位数(quantile=0.5)的耗时为 0.012352463,9 分位数(quantile=0.9)的耗时为 0.014458005s。