使用“和”运算符时,除法不会产生任何数据
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"}
)
我是普罗米修斯的新手,我会尽量把我的问题解释清楚。
以下 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"}
)