Docker 遥测和性能监控

Docker telemetry and performance monitoring

如果我在(2 个选项)吃午饭,遥测和监控工具会显示什么

它们会显示 cpu\memory 等容器或主机系统的使用情况吗?

什么是最佳实践?在每个容器或主机系统中监控软件?

结果应该完全相同,因为 Docker 容器正在共享它们的资源(与虚拟机不同)。

您想要做的是监视主机和容器运行。一个很好的方法是 运行 一个收集每个 docker 主机上所有数据的容器。这就是 Sematext Docker Agent runs, for example -- it runs as a tiny container on each Docker host and collects all host+containers metrics, events, and logs. It then parses logs, can route them, blacklist/whitelist them, auto-discovery new containers, and so on. In the end logs end up in Logsene and metrics and events end up in SPM 的方式,它为您提供了对所有 Docker 操作位的单一窗格视图,包括警报、异常检测、关联等。我希望这对您有所帮助并为您指明正确的方向。

在您的容器中放置代理是不可取的,不仅仅是出于性能原因,而且在 Docker 世界中这是一种反模式,其中每个容器都应该 运行 一个进程。更好的做法是 运行 主机上或单独容器中的监控代理,该代理可以配置为从其他容器中提取指标。这就是我们在 CoScale 的工作方式。如果您有兴趣,请查看我们针对 monitoring Docker.

的解决方案