【发布时间】:2021-03-07 16:04:28
【问题描述】:
我在仪表板配置中遇到 Grafana variable 查询的查询问题。查询变量应该返回加入 swarm 的节点数,但它没有返回。就我而言,我只有一个 swarm 节点,但 Grafana 中的变量最多返回 5 个节点。我真的不明白是什么导致了错误。
情况如下:我在我的笔记本电脑中设置了 docker swarm 作为管理器,只有我的笔记本电脑具有 swarm 模式,没有其他节点加入。
我使用https://github.com/stefanprodan/swarmprom的源来监控node-exporter的主机。我将prometheus.yml 保留为原始。
当我从prometheus 执行指标时,只有一个主机返回。这是正确的,因为我只有一个节点。可以看下图
但是当我在 Grafana 中进行查询时,Grafana 返回了 5 个主机。这里真的很奇怪。我不知道为什么我有 5 个主机,因为我只有一个 swarm 节点。
我确实使用 play-with-docker 再次检查了 git repo,配置了一个管理器节点和 2 个客户端节点。一切正常。 Grafana 中的查询返回 3 个主机。
这里是查询公式:label_values(node_uname_info{job="node-exporter"}, instance)
非常感谢您提前支持。
【问题讨论】:
-
其他实例有什么用?您是否看到他们的指标(尝试广泛的时间范围)?它们会在某个时候结束吗?
-
在很长一段时间内我只在 prometheus 表中看到一台主机。
-
问题是,每次 exporter 容器重新启动时,您可能会获得一个新实例。这是因为容器 IP 不是静态的,并且您的实例标签值绑定到 IP 地址。尝试将您的
node变量Refresh选项更改为On time range change。然后将仪表板上的时间范围更改为较短的时间,例如最后五分钟。如果我是对的,您应该只会在列表中看到一个实例。 -
是的,我遇到了你之前提到的情况。不止一个 exporter 容器正在运行,因此它们会导致多个 ip。我已经离开并再次启动 swarm 模式以确保只有一个 node_exportes 正在运行
-
今天早上,我再次检查,现在它只显示 3 ips localhost 和我的真实服务器。这是正确的,但昨天晚上,它显示 8 ips localhost。你觉得
node-exported的容器有问题吗?
标签: docker prometheus grafana docker-swarm prometheus-node-exporter