使用“和”运算符时,除法不会产生任何数据

Division results in no data when using the 'and" operator

我是普罗米修斯的新手,我会尽量把我的问题解释清楚。

以下 2 个查询 return Promotheus 中的数据

node_memory_MemAvailable{instance="10.0.0.15:9100",job="node-exporter"}

node_memory_MemTotal{instance="10.0.0.15:9100",job="node-exporter"}

然后我可以把它们分开:

node_memory_MemAvailable{instance="10.0.0.15:9100",job="node-exporter"}/ node_memory_MemTotal{instance="10.0.0.15:9100",job="node-exporter"}

到目前为止还可以。

我还有一个查询可以提供有关节点的信息:

node_meta

其中 return 个:

...
node_meta{container_label_com_docker_swarm_node_id="zekal76kw15vnp9u6ol0r2yvw",instance="10.0.0.15:9100",job="node-exporter",node_id="zekal76kw15vnp9u6ol0r2yvw",node_name="dc0-docker6"}
...

因此,我可以在前 2 个查询中使用 "and" 运算符来获取特定 'node_name':

的指标
node_memory_MemAvailable and on (instance) node_meta{node_name="dc0-docker6"}    

 node_memory_MemTotal and on (instance) node_meta{node_name="dc0-docker6"}

这些查询还有 returns 数据。

问题是当我使用“/”运算符时:

node_memory_MemAvailable and on (instance) node_meta{node_name="dc0-docker6"} /node_memory_MemTotal and on (instance) node_meta{node_name="dc0-docker6"}

这导致 "no data" 响应,我不明白为什么。有人可以帮忙吗?我该如何进一步调查?

谢谢

/的优先级高于and,所以试试:

  (
      node_memory_MemAvailable 
    and on (instance) 
      node_meta{node_name="dc0-docker6"}
  )
/
  (
      node_memory_MemTotal 
    and on (instance)
      node_meta{node_name="dc0-docker6"}
  )