3

我们在大型机器(64GB,10 个 CPU)上的 docker 环境中运行 netdata,许多机器(>40)运行相同的设置,包括 postgres、mongo、tomcat、httpd、solr。

在每台机器内部,我们都有一个 netdata 服务,它收集详细数据并将其发送到中央 netdata 实例。我们在两个不同的数据中心运行 6 台这样的大型机器。

一切正常:我们只面临一个奇怪的问题:- 由于我们在所有机器中集成了 netdata,CPU 负载每 90 分钟增加一次,负载达到 120(对于 10 个 CPU 系统来说,这非常高,其中 20短时间内会没事的)。

负载仅保持高位几分钟,然后又回到 2-4 的水平(这意味着大多数机器大部分时间都处于空闲状态,这是真的)。

我们检查了进程,发现没有一个进程会产生高负载。唯一的问题是,不同机器的所有 netdata python 脚本似乎同时运行并一起产生高负载)。

监控一台大服务器

我们已经做了什么: - 大多数 netdata 插件都关闭了:我们只使用监控 cpu、网络、磁盘、tomcat、apache - netdata 插件每 5 秒运行一次(任何更高的频率都会产生更多的负载,并且服务器没有恢复正常负载) - 关闭插件来测量 postgres 和 mongodb (我想监控这个,但它们完全破坏了服务器导致大量负载)

我的问题是:

我们如何才能更改 netdata 配置,以防止 CPU 负载出现经常性的高峰值。我们有 40 个相同的配置,40 个 tomcats/apache/sql 等。它是 docker 环境与机器内部的 netdata 结合吗?

我们只能猜测为什么它每 90 分钟才会发生一次。可能是一些关于 netdata 如何调用插件的时间模式,我不知道......

任何提示或建议如何在这样的系统中管理监控?

4

0 回答 0