我将prometheus与grafana一起使用。我有一个用例,我必须动态地获取变量,并需要对每个动态到来的变量执行除法运算,以便在每个变量级别绘制图形。
例如。第一个指标是
rate(container_cpu_usage_seconds_total{id="/",instance=~'${INSTANCE:pipe}'}[5m])
其中${INSTANCE:pipe}正在动态获取
需要除以-
machine_cpu_cores{kubernetes_io_hostname=~'${INSTANCE:pipe}'}
我想要格式的结果
每个可变 1个条目
例如。
vars结果
var1-102
var2-23
var3-453
注意(var1、var2、var3只是动态传递的变量,结果不是通过除法运算返回的值(
提前感谢
在尝试了一些查询后,找到了解决方案-
我的用例有两个指标如下-
- container_cpuusage_seconds_total
- machine_cpu_cores
在这两个指标中,我发现了kubernetes_io_hostname
的共同标签
我用上面的标签和下面的查询对这两个指标进行了分组-
-
(sort_desc ( max (rate (container_cpu_usage_seconds_total{id="/",kubernetes_io_role="node"}[5m])) BY (kubernetes_io_hostname)
-
sort_desc(max (machine_cpu_cores{kubernetes_io_role="node"}) BY (kubernetes_io_hostname ))
所以我的数据只有一个名为kubernetes_hostname的标签
然后我对上面的2个指标进行了划分,然后得到kubernetes_hostname标签的结果
如果你需要更多的信息,请在评论区告诉我。