prometheus - Prometheus 在计算两个指标的比率时不返回数据
问题描述
我想计算两个指标的比率,但我没有得到任何数据......
我有一些指标,例如:
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 表达式浏览器中单独查询每个指标时,我确实得到了指标值。
怎么了?
解决方案
当 prometheus 评估表达式时,该操作隐式应用于共享相同标签集的度量。
尽管我指定了指标名称和大多数标签,Prometheus 仍在寻找具有相同标签集的指标。
但是,在这种情况下,两个指标具有不同的标签值,因此它们不能匹配!(一个指标有metric="Used"
另一个有metric="Total"
。可能是其中一个指标有一些额外的标签)。
解决方案是使用ignore
(or on
) 来减少考虑的标签集:
fs_bytes{instance="localhost:9108",metric="Used"} / ignoring(metric) fs_bytes{instance="localhost:9108",metric="Total"}
阅读精美手册!(这里)
推荐阅读
- netlogo - 如何在游戏板模拟中移动海龟?
- angular - 如何立即取消选中复选框?
- powershell - powershell get-eventlog 如果超过 5 次添加
- c# - 如何仅通过其 pid 重新启动进程?
- swift - Swift 中的 2 行重复代码是否首选单独的函数?
- java - 用 Java 生成的 RSA 公钥在 php 中无效
- mysql - Win 10 上的 MAMP 4.1.0 未启动 MySQL
- python - 为什么“client.get_all_emojis”返回一个空列表?
- prolog - 停止 Prolog 推断值
- r - 如何更改先知情节中的线条类型?