如何解读Prometheus中process_cpu_seconds_total的5分钟监控数据?
Prometheus
process_cpu_seconds_total 指标数据解读 一、指标核心定义
process_cpu_seconds_total 是Prometheus自带的计数器类型指标,作用就是累计统计目标进程从启动到当前时刻,总共消耗的CPU时长,单位是秒。这类计数器的特点是只会单调递增——除非进程重启,数值才会重置回0。
二、原始数据怎么读
你拿到的原始数据格式如下:
process_cpu_seconds_total{instance="localhost:9090", job="prometheus"} 50.61 @1711710744.158 50.68 @1711710759.167 ...
- 第一行是指标的身份标识:
instance="localhost:9090"说明监控的是本地9090端口的Prometheus实例,job="prometheus"表示这个监控目标归属于prometheus采集任务。 - 后续每行都是一个时间序列数据点:
@左侧的数值:对应时间点进程累计消耗的CPU总秒数,比如50.61就是指截止到该时间点,这个Prometheus进程已经用掉了50.61秒的CPU时间。@右侧的是带毫秒精度的Unix时间戳,可以用date -d @1711710744这类命令转换为本地时间,比如该时间戳对应北京时间2024-03-29 10:32:24左右。
三、这份5分钟数据的实际分析
从这份数据能拆解出这些信息:
- 采样间隔:相邻时间戳的差值基本为15秒,说明Prometheus对该指标的采集频率是每15秒一次。
- CPU消耗趋势:5分钟内,累计CPU耗时从50.61秒增长到52.02秒,总增长值为1.41秒。
- 瞬时CPU使用率计算:如果想获取某段时间的平均CPU使用率,用相邻两个数据点的差值除以时间间隔即可。比如第一个15秒窗口:
(50.68-50.61)/15 ≈0.0047,也就是约0.47%的CPU使用率;最后一个窗口:(52.02-51.93)/15=0.006,即0.6%。整体来看这个Prometheus实例的CPU负载极低,运行状态平稳。
内容的提问来源于stack exchange,提问作者Emad Khavaninzadeh
相关产品推荐
相关产品推荐

