Docker Swarm 容器统计数据是否特定于主机?

Are Docker Swarm container stats are host specific?

我的问题是我无法在同一个群中收集容器 运行 的容器指标(cpu、mem、...),但在与节点(管理器)不同的节点上回答我的请求。

这是正常行为吗?

如何获取其他 运行 容器的统计信息(我无法通过 http/tcp... 从工作节点请求统计信息)?

目前我正在使用 Docker API 通过 TCP/HTTP: https://docs.docker.com/engine/api/v1.30/#operation/ContainerStats

PS: 我无法使用cAdvisor。

docker 引擎中没有 "swarm container stats",只有 "container stats" 和容器是每个节点的本地容器。如果你想要集群中所有节点的统计信息,你需要使用其他东西来收集它们。 cAdvisor/Prometheus 被大多数人使用,因为它以最少的权限处理特定任务,你可能会让经典的 swarm 工作,或者只是在每个节点上编写一些 运行 的脚本。我没有玩过它,但 swarm-exec 也可能支持您的用例。