我想计算两个指标的比率,但没有数据...
我有一些指标:
fs_bytes{filesystem="/var",instance="localhost:9108",job="graphite",metric="Used"} 50.0
fs_bytes{filesystem="/var",instance="localhost:9108",job="graphite",metric="Total"} 100.0
当我尝试执行任何操作(设备,乘法,加法,减法)时:
fs_bytes{instance="localhost:9108",metric="Used"} / fs_bytes{instance="localhost:9108",metric="Total"}
普罗米修斯被迫退出:
no data
当我在Prometheus表达式浏览器中单独查询每个指标时,我确实获得了指标值。
怎么了?
答案 0 :(得分:2)
当prometheus评估表达式时,该操作隐式应用于共享相同标签集的度量。
尽管我指定了指标名称和大多数标签,但Prometheus仍在寻找具有相同标签集的指标。
但是,在这种情况下,两个指标具有不同的标签值,因此它们不能匹配! (一个指标具有metric="Used"
,另一个指标具有metric="Total"
)。
解决方案是使用ignore
(或on
)来减少考虑的标签集:
fs_bytes{instance="localhost:9108",metric="Used"} / ignoring(metric) fs_bytes{instance="localhost:9108",metric="Total"}
阅读精美的手册! (here)