目录

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 值的序列能够参与运算