Grafana-多指标相乘
目录
Grafana 多指标相乘
PromQL中多指标相乘
PromQL表达式:
0.045 * h9_daily_income{coin="nock"} * h9_pool_price_cny{coin="nock"}
📈 基础:单指标运算
常数与指标相乘
在PromQL中,常数与指标的乘法是最简单的运算:
# ✅ 简单有效
0.045 * h9_daily_income{coin="nock"}
⚠️ 挑战:多指标相乘
初次尝试失败
# ❌ 可能显示 "No data"
0.045 * h9_daily_income{coin="nock"} * h9_pool_price_cny{coin="nock"}
三重乘法 ❌ 显示:“No data”
问题根源
问题出现在向量匹配上。PromQL要求参与运算的时间序列必须能够正确匹配,
问题分析:
- ✅
coin
标签匹配 - ❌
instance
标签不匹配 - ❌
job
标签不匹配
结果:默认匹配失败,返回空结果。
方案1:on() 明确匹配标签 ⭐⭐⭐⭐⭐
最推荐的解决方案:
0.045 * h9_daily_income{coin="nock"} * on(coin) h9_pool_price_cny{coin="nock"}
工作原理:
on(coin)
告诉PromQL只基于coin
标签进行匹配- 忽略其他所有标签的差异
- 确保具有相同
coin
值的序列能够参与运算