如何在Prometheus查询中使用标签值?

时间:2019-04-26 16:07:39

标签: grafana prometheus

我想创建一个Grafana仪表板,显示按Linux伙伴块大小分组的可用内存。 node_exporter从内核收集buddyinfo:

node_buddyinfo_blocks{node="0",size="0",zone="Normal"}  2474
node_buddyinfo_blocks{node="0",size="1",zone="Normal"}  2934
node_buddyinfo_blocks{node="0",size="2",zone="Normal"}  2743
node_buddyinfo_blocks{node="0",size="3",zone="Normal"}  1191
node_buddyinfo_blocks{node="0",size="4",zone="Normal"}  811
node_buddyinfo_blocks{node="0",size="5",zone="Normal"}  289
node_buddyinfo_blocks{node="0",size="6",zone="Normal"}  127
node_buddyinfo_blocks{node="0",size="7",zone="Normal"}  67
node_buddyinfo_blocks{node="0",size="8",zone="Normal"}  28
node_buddyinfo_blocks{node="0",size="9",zone="Normal"}  39
node_buddyinfo_blocks{node="0",size="10",zone="Normal"} 43474

不是显示空闲伙伴块的数量,而是需要通过将块计数(度量值)乘以块大小(从大小标签得出)来将块计数转换为字节大小: / p>

blocks * 2 ^ size * PAGESIZE

对于该计算,我喜欢使用标签size的值并编写如下内容:

sum by (size) (node_buddyinfo_blocks) * (2 ^ size)

有没有办法在普罗米修斯实现该查询?

作为解决方法,可以为每个好友大小对十个查询进行硬编码。

0 个答案:

没有答案