Grafana-如何绘制动态传递的每个变量的指标

时间:2020-09-24 03:35:12

标签: grafana

我正在使用普罗米修斯和格拉法纳(grana)。我有一个用例,其中我必须动态地获取变量,并且需要执行除法操作,该操作要针对每个要动态变化的变量执行,以便可以在每个变量级别绘制图。

例如第一个指标是-

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只是动态传递的变量,结果是除法运算返回的值都不是

预先感谢

1 个答案:

答案 0 :(得分:1)

尝试了一些查询后找到了解决方法-

我的用例具有以下两个指标-

  • container_cpu_usage_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 ))

所以我的数据只有1个标签,名为 kubernetes_io_hostname

然后我对上述两个指标进行了除法,然后得到了 kubernetes_io_hostname 标签的结果

如果您需要更多信息,请在评论部分告诉我。