Prometheus 以速率或速率表示的标签的度量和

Prometheus 以速率或速率表示的标签的度量和,prometheus,Prometheus,我正在按进程导出器计算进程的CPU使用率,但它在一个度量中有两个不同的标签,例如: namedprocess_namegroup_cpu_seconds_total{groupname="(sd-pam)",instance="localhost:9256",job="process_exporter",mode="system"} 我需要它的总和2,才能有%的进程cpu使用率 我已经试过了,但是代码没有显示任何内容 topk(5, rate(namedprocess_namegroup_cp

我正在按进程导出器计算进程的CPU使用率,但它在一个度量中有两个不同的标签,例如:

namedprocess_namegroup_cpu_seconds_total{groupname="(sd-pam)",instance="localhost:9256",job="process_exporter",mode="system"}
我需要它的总和2,才能有%的进程cpu使用率

我已经试过了,但是代码没有显示任何内容

topk(5,
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="user"}[20s]) + 
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[20s])
or 
(
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="user"}[5m]) +
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[5m])))
但它可以与此配合使用(当我将所有更改为用户或系统时)


我应该怎么做才能得到这两个时间序列的和,谢谢。

在标签匹配时,可以使用正则表达式来聚合这两个时间序列。它看起来像这样:

(组名,实例)的总和(速率(名称进程\u名称组\u cpu\u秒数\u总数{groupname=~“$processes”,instance=“$host”,mode=~“system | user”}[1m])

上面给出了
系统
用户
使用的总CPU,按组名和实例聚合

topk(5,
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="user"}[20s]) + 
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[20s])
or 
(
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="user"}[5m]) +
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[5m])))
topk(5,
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[20s]) + 
rate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[20s])
or 
(
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[5m]) +
irate(namedprocess_namegroup_cpu_seconds_total{groupname=~"$processes",instance="$host",mode="system"}[5m])))